web-dev-qa-db-ja.com

XMLまたは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要素の数を取得するにはどうすればよいですか?

18
Arian

Descendants method を「ID」という名前で使用して子孫要素をフィルタリングし、結果をカウントできます。

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

Descendantsはすべてのレベルを調べていることに注意してください。 Person以外の要素にID子要素もある場合は、より具体的にする必要があります。その場合、ID要素に属するPerson子要素をカウントするには、次のようにします。

int count = xml.Elements("Person")
               .Elements("ID")
               .Count();
35
Ahmad Mageed
XmlDocument xmldoc = new XmlDocument();
 xmldoc.Load(XmlPath);
var totalItems = xmldoc.SelectNodes(
         "/root/node/LastName/").Count;
var cnt = element.Descendants("ID").Count();
0
Nuffin