2011-01-10 6 views
4

Ich bin auf der Suche nach dem Zählen der Knoten in einer XML-Datei, die einen Wert von "Nein" sowie die Gesamtzahl der Elemente enthalten.Wie man die Anzahl der XML-Knoten zählt, die einen bestimmten Wert enthalten

Ich habe die Elementanzahl funktioniert gut, aber ich bin mir nicht sicher von der Logik, in das XML für einen Wert zu zählen.

die Gesamtzahl erhalten Ich verwende:

XmlDocument readDoc = new XmlDocument(); 
    readDoc.Load(MapPath("Results.xml")); 
    int count = readDoc.SelectNodes("root/User").Count; 
    lblResults.Text = count.ToString(); 

Unten ist mein XML:

<?xml version="1.0" encoding="iso-8859-1"?> 
<root> 
    <User> 
    <URL>http://www.example.com</URL> 
    <JSEnabled>Yes</JSEnabled> 
    </User> 
    <User> 
    <URL>http://www.example.com</URL> 
    <JSEnabled>Yes</JSEnabled> 
</User> 
<User> 
    <URL>http://www.example.com</URL> 
    <JSEnabled>Yes</JSEnabled> 
</User> 
<User> 
    <URL>http://www.example.com</URL> 
    <JSEnabled>Yes</JSEnabled> 
</User> 
<User> 
    <URL>http://www.example.com</URL> 
    <JSEnabled>No</JSEnabled> 
</User> 

Antwort

7
XmlDocument readDoc = new XmlDocument(); 
readDoc.Load(MapPath("Results.xml")); 
int count = readDoc.SelectNodes("root/User").Count; 
lblResults.Text = count.ToString(); 
int NoCount = readDoc.SelectNodes("JSEnabled[. = \"No\"]").Count; 

gute Referenz hier: http://msdn.microsoft.com/en-us/library/ms256086.aspx

+0

Das hat mich bekommen, wonach ich gefragt habe, aber nachdem ich diesen Referenzlink gelesen hatte, konnte ich noch mehr bekommen, als ich ursprünglich gesucht hatte. Vielen Dank – InsertOldUserIDHere

+0

'NoCount' sollte wahrscheinlich eine' XmlNodeList' anstelle von 'int' sein. Alternativ sollten Sie 'readDoc.SelectNodes (" JSEnabled [. = \ "No \"] ") verwenden. Count '. – Brian

1

Ich suche wie die Knoten in einer XML-Datei, die einen Wert von "No"

In XPath enthalten zählen:

count(/root/User[JSEnabled = 'No']) 

sowie die Gesamtzahl der Elemente.

Dass Sie es bereits haben:

count(/root/User) 

oder den Ausdruck für die Knoten auswählen und alle DOM-Methode Node Set Ergebnis Mitglieder zählen.

Verwandte Themen