Knoten rekursiv in einem XDocument suchen

8

Ich gehe davon aus, dass ich etwas Einfaches übersehen habe, aber ich habe Schwierigkeiten, rekursiv Knoten aus einem XDocument zu extrahieren.

Ich habe XML ähnlich wie folgt:

%Vor%

Ich dachte, ich könnte alle drei Beobachtungsknoten mit

erhalten %Vor%

Obwohl es so aussieht, funktioniert das nur, wenn die Beobachtung keine Kinder hat. Ich habe auch versucht .Ancestors und .DecentantNodes, aber habe nicht bekommen, was ich wollte.

Ich kann leicht eine rekursive Methode schreiben, die mir bringt, was ich brauche, aber ich würde lieber eine existierende Methode benutzen, wenn es eine gibt, zumal ich mit XML ziemlich viel in verschiedenen Projekten arbeiten werde. Fehle ich etwas Offensichtliches?

Beachten Sie, dass jeder Knoten, der eine Beobachtung angibt, den Code und den Wert abrufen muss. Im folgenden Beispiel muss ich also drei Beobachtungsknoten verarbeiten. Die Verschachtelung und Anzahl der Beobachtungsknoten ist beliebig.

Danke für jede Hilfe.

ANHANG

Es kommt mir vor, dass ich nicht genügend Informationen über XML gebe. Ich glaube nicht, dass Tags einen Unterschied machen würden, aber ich nehme an, ich sollte sie für alle Fälle mit einbeziehen. Unten sind die ersten paar Zeilen einer tatsächlichen Nachricht, die ich analysieren möchte. Ich habe etwas Text mit "..." für die Privatsphäre ersetzt.

%Vor%     
Tim 10.05.2013, 01:01
quelle

1 Antwort

8

Ich habe gerade diesen Code in VS2012 ausgeführt, und er hat die Console.WriteLine() 3 Mal getroffen und den Beobachtungsknoten und den Inhalt korrekt ausgegeben:

%Vor%

Bearbeiten - berücksichtigt die neuen Namespace-Informationen und verwendet XDocument anstelle von XElement :

%Vor%     
Gjeltema 10.05.2013, 19:46
quelle

Tags und Links