Ich habe eine XML, die ich alle Elemente erhalten möchte. Ich habe versucht, die Elemente von Nachkommen() oder DescendantNodes() bekommen, aber beide zurück mir wiederholt KnotenAufruf der DescendantNodes, ohne jeden Knoten zu wiederholen
Zum Beispiel, hier ist mein xml:
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FirstElement xsi:type="myType">
<SecondElement>A</SecondElement>
</FirstElement>
</Root>
und wenn ich diese Schnipsel:
XElement Elements = XElement.Parse(XML);
IEnumerable<XElement> xElement = Elements.Descendants();
IEnumerable<XNode> xNodes = Elements.DescendantNodes();
foreach (XNode node in xNodes)
{
stringBuilder.Append(node);
}
es gibt mir zwei Knoten, aber die <SecondElement>
wiederholen. Ich weiß, Nachkommen nennen ihre Kinder und Kinder eines Kindes die ganze Zeit, aber gibt es einen anderen Weg, es zu vermeiden?
Dann ist dies der Inhalt meiner String:
<FirstElement xsi:type="myType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SecondElement>A</SecondElement>
</FirstElement>
<SecondElement>A</SecondElement>
Schließlich möchte ich nur haben A Zweites> Firstelement> B Zweites> Firstelement> –
paradisonoir
von "haben", was genau Sie aber bedeuten ? Schreiben Sie diese * tatsächlich * in einen StringBuilder oder war das nur zur Diagnose? Es hört sich so an, als müssten Sie nur einen Aufruf an Elements() senden. –
nein Ich muss sie in einen Zeichenfolgengenerator schreiben und speichern. – paradisonoir