首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么读递归XML文档

2012-01-02 
如何读递归XML文档。比如我有这样一个XMLObjectNameBB/NameObjectNameAA/NameObject//Objec

如何读递归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 ;

热点排行