如何读递归XML文档。
比如我有这样一个XML
<Object>
  <Name>BB</Name>
  <Object>
    <Name>AA</Name>
    <Object/>
  </Object>
  <Object>
    <Name>CC</Name>
    <Object/>
  </Object>  
</Object>
如何按顺序读出3个Object。顺序如下:AA-〉BB-〉CC
------解决方案--------------------            try
           {
               if (nxml.Name == "Name")
               {
                   al.Add(nxml.InnerText);
               }
               foreach (XmlNode child in nxml.ChildNodes)
               {
                   BindXmlToTreeView(child,ref al);
               }
           }
           catch (Exception ex)
           {
               throw (ex);
           }
随便写的,没测试.
------解决方案--------------------      XmlDocument xdoc = new XmlDocument();
     xdoc.Load("FileName");
     ArrayList al = new ArrayList();
     this.BindXmlToTreeView(xdoc.DocumentElement, ref al);      
     private void BindXmlToTreeView(XmlNode nxml,ref ArrayList al)
       {
           try
           {
               if (nxml.Name == "Name")
               {
                   al.Add(nxml.InnerText);
               }
               foreach (XmlNode child in nxml.ChildNodes)
               {
                   BindXmlToTreeView(child,ref al);
               }
           }
           catch (Exception ex)
           {
               throw (ex);
           }
       }
刚没发完.
------解决方案--------------------你可以先读出来然后排序
例如如下
C# code
XmlDocument doc = new XmlDocument();
doc.Load("e:\\1.xml");
XmlNodeList list = doc.SelectNodes("//Name");
List<string> sorted = new List<string>();
foreach (XmlNode node in list)
{
    sorted.Add(node.InnerText);
}
sorted.Sort();
foreach (string s in sorted)
{
    Console.WriteLine(s);//这里就是按照你要的顺序
}
------解决方案--------------------
[Quote=引用:]
你可以先读出来然后排序  
例如如下  
C# code
XmlDocument doc = new XmlDocument();
doc.Load("e:\\1.xml");
XmlNodeList list = doc.SelectNodes("//Name");
List<string> sorted = new List<string>();
foreach (XmlNode node in list)
{
   sorted.Add(node.InnerText);
}
sorted.Sort();
foreach (string s in sorted)
{
   Console.WriteLine(s);//这里就是按照你要的顺序
}
mark ;