6 Stimmen

Zählen der Anzahl der Elemente in einem XML-Dokument

Ich frage mich, ob es möglich ist, die Anzahl der Elemente in einem XML-Dokument vorzugsweise in der Lage, fitler mit etwas ähnlich zu zählen where (string)query.Attribute("attName") == att .

Nach bestem Wissen und Gewissen habe ich das Folgende versucht, aber leider kann ich es nicht zum Laufen bringen.

                        var listElements = reader.Elements("shortlist");

                        foreach (var element in listElements)
                        {
                            XElement _xml;
                            location.Position = 0;
                            System.IO.StreamReader file = new System.IO.StreamReader(location);
                            _xml = XElement.Parse(file.ReadToEnd());
                            XAttribute attName = _xml.Attribute("attN");

                             if (attName.Value == att)
                            {
                                Count++;
                            }                              
                        }

Gracias.

10voto

Matt Ellen Punkte 10340

Da doc eine Instanz von XDocument

doc.Root.Descendants().Count(d => (string)d.Attribute("attName") == "value");

0voto

Jan Thomä Punkte 12875

Das wäre wahrscheinlich eine gute Anwendung für die Verwendung von XPath.

http://support.microsoft.com/kb/308333/en-us

Ein xpath könnte lauten "count(//*[@attName='attValue'])".

0voto

Robin Maben Punkte 20864
XmlDocument x = XmlDocument.Load("data.xml");   //pls excuse if i got the syntax wrong
XmlNodeList n = x.SelectNodes("//*[@attName='attValue']");
//Selects any element occuring anywhere in the document with Attribute attName='attValue'

int tadaa = n.Count;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X