这是我正在使用
的XML的摘录 <AccountNumber>
<RecordID>A9</RecordID>
<SegmentLength>14</SegmentLength>
<Number>6770307103</Number>
</AccountNumber>
<PaymentCounter>
<RecordID>B2</RecordID>
<SegmentLength>14</SegmentLength>
<History>99</History>
<Delinq30Day>00</Delinq30Day>
<Delinq60Day>00</Delinq60Day>
<Delinq90PlusDay>00</Delinq90PlusDay>
<DerogCnt>00</DerogCnt>
</PaymentCounter>
这里我试图确定AccountNumber和PaymentCounter下的子元素数量。
我正在寻找这个答案 AccountNumber计数= 3 PaymentCounter count = 7
获得计数后,我将使用数据动态填充表格。
我试过这个: int count1 = xmlDocument.Descendants(“AccountNumber”)。Count();
LINQ to XML中的count()将给出元素“AccountNumber”在XML中重复的次数,但不会给出子元素的数量。
有办法做到这一点吗?
答案 0 :(得分:0)
是的,可以使用xmlDocument.Descendants("AccountNumber").First().Decendants().Count()
。
答案 1 :(得分:0)
来自MSDN
Returns a collection of the descendant elements for this document or element, in document order
AccountNumber elements
如果你有类似下面的内容
var elements = xmlDocument.Descendants(“AccountNumber”)。
您将获得所有 foreach (var xElement in elements )
{
var acElt= xElement.Descendants().Count();
//then do your construction here
}
你必须遍历每个元素才能获得每个元素的计数
__session
答案 2 :(得分:0)
Descendants("AccountNumber")
返回姓名为AccountNumber
的孩子,孙子等。你实际上想要AccountNumber
元素的孩子。
请参阅MSDN
在您的示例中,只有一个AccountNumber,假设此XML片段对您正在处理的实际文档是真的,并且AccountNumber元素是您可能想要执行此操作的根元素的子元素:
xmlDocument.Element("AccountNumber").Elements().Count()