使用递归函数遍历XML

Kaj*_*aja 6 c# xml recursion traversal

如何使用c#中的递归函数遍历(按顺序读取所有节点)XML文档?

我想要的是读取xml中的所有节点(具有属性)并以与xml相同的结构打印它们(但没有Node Localname)

谢谢

Jos*_*ose 27

using System.Xml;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            var doc = new XmlDocument();
            // Load xml document.
            TraverseNodes( doc.ChildNodes );
        }

        private static void TraverseNodes( XmlNodeList nodes )
        {
            foreach( XmlNode node in nodes )
            {
                // Do something with the node.
                TraverseNodes( node.ChildNodes );
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果这解决了您的问题,您能将其标记为正确答案吗?谢谢. (21认同)

Gre*_*ire 4

IEnumerable<atype> yourfunction(XElement element)
{
    foreach(var node in element.Nodes)
   {
      yield return yourfunction(node);
   }

//do some stuff
}
Run Code Online (Sandbox Code Playgroud)