伯爵XML中的特定XML节点 [英] Count specific XML Nodes within XML
本文介绍了伯爵XML中的特定XML节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请参阅此XML:
<CMP>
<OMP3>
<personmenu>
<submenuid>502</submenuid>
<submenuid>503</submenuid>
</personmenu>
<accountsmenu>
<submenuid>517</submenuid>
<submenuid>518</submenuid>
<submenuid>519</submenuid>
</accountsmenu>
<reportsmenu>
<submenuid>522</submenuid>
<submenuid>528</submenuid>
<submenuid>536</submenuid>
</reportsmenu>
</OMP3>
<AMP3>
<admissionmenu>
<submenuid>702</submenuid>
<submenuid>703</submenuid>
</admissionmenu>
</AMP3>
</CMP>
我想从这个XML动态(C#)获取节点的总数。
我该怎么办呢?任何样品code?
I want to get the total count of nodes from this xml dynamically (C#). How can I do it? Any sample code?
推荐答案
下面是计算所有 submenuid
节点在XML文档中没有加载到内存中的一个例子:
Here's an example of counting all submenuid
nodes in your xml document without loading it into memory:
var nodeCount = 0;
using (var reader = XmlReader.Create("test.xml"))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element &&
reader.Name == "submenuid")
{
nodeCount++;
}
}
}
Console.WriteLine(nodeCount);
或者,如果你preFER的LINQ to XML:
Or if you prefer LINQ to XML:
var count = XDocument
.Load("test.xml")
.XPathSelectElements("//submenuid")
.Count();
这篇关于伯爵XML中的特定XML节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文