XmlDocument reading XML Document comment Issue
I am using 开发者_如何学编程XmlDocument to parse xml file, but it seems that XmlDocument is always reading xml comments as a xml nodes:
My C# code
XmlDocument xml = new XmlDocument();
xml.Load(filename);
foreach (XmlNode node in xml.FirstChild.ChildNodes) {
}
Xml file
<project>
<!-- comments-->
<application name="app1">
<property name="ip" value="10.18.98.100"/>
</application>
</project>
Shouldn't .NET skip XML comments?
No, but node.NodeType schould by XmlNodeType.Comment.
If it wouldn't read the comments you also couldn't access them, but you can do something like the following to get all "real nodes":
XDocument xml = XDocument.Load(filename);
var realNodes = from n in xml.Descendants("application")
where n.NodeType != XmlNodeType.Comment
select n;
foreach(XNode node in realNodes)
{
//your code
}
or without LINQ/XDocument:
XmlDocument xml = new XmlDocument();
xml.Load(filename);
foreach (XmlNode node in xml.FirstChild.ChildNodes)
{
if(node.NodeType != XmlNodeType.Comment)
{
//your code
}
}
Look at XmlNodeType.Comment
Try this
XmlDocument xml = new XmlDocument();
xml.Load(filename);
foreach (XmlNode node in xml.FirstChild.ChildNodes)
{
if(node.GetType() == XmlNodeType.Comment)
{
//Do nothing
}
else
{
//Your code goes here.
}
}
加载中,请稍侯......
精彩评论