【问题标题】:Select all nodes选择所有节点
【发布时间】:2012-10-11 00:17:27
【问题描述】:

我想获取xml文件中的所有元素。

我只得到第一个元素。

XmlDocument XDoc = new XmlDocument();
            XDoc.Load("d://avi.xml");        
            XmlNodeList XList = XDoc.SelectNodes("//level1");
            foreach (XmlNode XNode in XList)
            {
                Console.WriteLine("the current node is - {0}", XNode.Name);
            }

xml:

<?xml version="1.0" encoding="utf-8"?>
<level1>
    <level2>
        <level3>header3</level3>
            <level4>another</level4>
        <level31>header31</level31>
    </level2>
    <level2>
        <level3>nnn</level3>
        <level31>nnnnn</level31>
    </level2>
</level1>
<!--test test-->

【问题讨论】:

  • 那么您是说有多个&lt;level1&gt; 节点并且您想全部检索它们?
  • 不,这是我使用的完整 xml 文件,我还想获取“level1”的所有子项,xml 中的所有元素

标签: c# xml


【解决方案1】:

试试怎么样:

XmlNodeList XList = XDoc.SelectNodes("//*");

【讨论】:

    【解决方案2】:
    string nodeSet = @"//* | //*/@*"; //gets both elements & attributes
    XmlNodeList allNodes = XDoc.SelectNodes(@nodeSet);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2011-06-13
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      相关资源
      最近更新 更多