Tagged: Remove-xml-header, xml-declaration, xml-header, xml-version
- This topic has 1 reply, 2 voices, and was last updated 7 years, 9 months ago by Rajeev.
-
AuthorPosts
-
January 2, 2017 at 4:46 pm #437Rohit SinghParticipant
How Can I remove Header an XML file in C# using XMLDocument?
I have code as below,XmlDocument xmlDoc= new XmlDocument(); xmlDoc.Load("../test.xml");
XML document loaded has First line <?xml version=”1.0″ encoding=”UTF-8″?>
I don’t want this line in my file, How I can remove this xml version information line from the xml doc.January 17, 2017 at 3:53 pm #441RajeevKeymasterThere are various ways we can remove the version information of the xml file from C#.
1) Remove the XML header from an XML File using the RemoveChild() method of XmlDocument using foreach XmlNode
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("../test.xml"); foreach (XmlNode n in xmlDoc) { if (n.NodeType == XmlNodeType.XmlDeclaration) { xmlDoc.RemoveChild(n); } }
2) Remove the XML version info from an XML File by Removing the FirstChild of XmlDocument using the RemoveChild().
Above mentioned if condition can be changed as below to remove the xml header information from an xml file.
if we blindly remove the first child from xml without an if check , it may remove xml root itself if xml version information not present in the xml.if (xmlDoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration) { //Remove the xml version,if it is the first child of the doc. xmlDoc.RemoveChild(xmlDoc.FirstChild); }/
3) Remove the XML header using string.Replace statement.
If xmldoc is made in string format,we can simply remove the xml version info from the xml file using
the string.Replace statement.string xmlDoc = stringXmlDoc.Replace("<!--?xml version=\"1.0\" encoding=\"UTF-8\" ?-->", "");
If we are writing an xml document and don’t want to write xml declaration in the xml doc then use the ConformanceLevel and OmitXmlDeclaration properties.
XmlWriter writer; writer.Settings = new XmlWriterSettings(); writer.Settings.ConformanceLevel = ConformanceLevel.Fragment; writer.Settings.OmitXmlDeclaration = true;
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
- This reply was modified 2 years, 1 month ago by Rajeev.
-
AuthorPosts
- You must be logged in to reply to this topic.