推荐使用 XPathDocument载入xml 然后使用 xpath 进行查询。这个应该是最快的。
或是使用 XmlDocument 载入xml ,然后一级一级的向下枚举子节点(也可以使用xpath)
还有就是使用 XmlReader 进行处理,不推荐
以zhanggk315818 的样本为例子(xml 格式有小错误,需要修改后使用),如下:
// using System.Xml;
var document = new XmlDocument();
document.LoadXml(LoadTestXml());
// 层次有要求,读出id 的值
// var nodeList = document.SelectNodes(@"NewDataSet/Table/ID/text()");
// 或者 层次没有要求, 读出id的值
// var nodeList = document.SelectNodes(@"//ID/text()");
// 读出name 值
var nodeList = document.SelectNodes(@"//ID/@name");
foreach (XmlNode node in nodeList)
{
Console.WriteLine(node.Value);
}
Console.ReadKey();
测试文件
创建XmlNodeList对象
XmlNodeList nodeList = doc.SelectNodes("NewDataset");
XmlNodeList nodeCount = nodeList.Item(0).SelectNodes("Table");
循环遍历XmlNodeList
foreach( XmlNode item in nodeCount )
{
string id = item.FirstChild.InnerXml; //结果为1,2,3
string name=item.FirstChild.Attributes["name"].value; //结果为 第一个,第二个,第三个
}