一尘不染

遍历XML文件中的所有节点

c#

我想遍历XML文件中的所有节点并打印其名称。做这个的最好方式是什么?我正在使用.NET 2.0。


阅读 804

收藏
2020-05-19

共1个答案

一尘不染

我认为最快和最简单的方法是使用XmlReader,这将不需要任何递归和最少的内存占用。

这是一个简单的示例,为紧凑起见,我只使用了一个简单的字符串,当然您可以使用文件中的流等。

  string xml = @"
    <parent>
      <child>
        <nested />
      </child>
      <child>
        <other>
        </other>
      </child>
    </parent>
    ";

  XmlReader rdr = XmlReader.Create(new System.IO.StringReader(xml));
  while (rdr.Read())
  {
    if (rdr.NodeType == XmlNodeType.Element)
    {
      Console.WriteLine(rdr.LocalName);
    }
  }

以上结果将是

parent
child
nested
child
other

XML文档中所有元素的列表。

2020-05-19