如何在XML或XElement变量中获取特定元素Count

时间:2012-01-06 21:04:50

标签: c# xml linq xelement

考虑这个XML:

<Employees>
    <Person>
        <ID>1000</ID>
        <Name>Nima</Name>
        <LName>Agha</LName>
    </Person>
    <Person>
        <ID>1001</ID>
        <Name>Ligha</Name>
        <LName>Ligha</LName>
    </Person>
    <Person>
        <ID>1002</ID>
        <Name>Jigha</Name>
        <LName>Jigha</LName>
    </Person>
    <Person>
        <ID>1003</ID>
        <Name>Aba</Name>
        <LName>Aba</LName>
    </Person>
</Employees>

我声明了一个XElement变量并创建了将其分配给它的XML。如何在C#中获取此XML变量中ID个元素的数量?

3 个答案:

答案 0 :(得分:35)

您可以使用名称为“ID”的Descendants method过滤后代元素,然后计算结果:

int count = xml.Descendants("ID").Count();

请注意Descendants查看所有级别。如果您的Person以外的元素也有ID子元素,那么您可能希望更具体。在这种情况下,要计算属于ID元素的Person个子元素,您可以使用:

int count = xml.Elements("Person")
               .Elements("ID")
               .Count();

答案 1 :(得分:1)

SELECT * FROM t1 WHERE t1.id=1
UNION ALL
SELECT * FROM t2 WHERE t2.id=1
UNION ALL
SELECT * FROM t2 WHERE t2.id=1

答案 2 :(得分:0)

var cnt = element.Descendants("ID").Count();