开发者

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.
            }
       }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜