Ich schreibe eines meiner ersten C# -Programme. Hier ist, was ich versuche zu tun:Festlegen von Attributen in einem XML-Dokument
- öffnen Sie ein XML-Dokument
- Navigieren Sie zu einem Teil der XML-Struktur und wählen Sie alle untergeordneten Elemente vom Typ
<myType>
- Für jedes
<myType>
Element, ein Attribut ändern (so würde<myType id="oldValue">
werden<myType id="newValue">
- schreiben dieser geänderte XML-Dokument in eine Datei.
fand ich die XmlDocument.SelectNodes
Methode, die einen XPath-Ausdruck als Argument verwendet. Es gibt jedoch eine XmlNodeList
zurück. Ich lese ein wenig über den Unterschied zwischen einem XML-Knoten und einem XML-Element, und dies scheint zu erklären, warum es keine XmlNode.SetAttribute
Methode gibt. Aber gibt es eine Möglichkeit, dass ich meinen XPath-Ausdruck verwenden kann, um eine Liste von XmlElement
Objekten abzurufen, so dass ich diese Liste durchlaufen kann und die id
Attribute für jedes festlegen kann?
(Wenn es eine andere Art und Weise einfacher ist, kann man mich nicht wissen lassen.)
Das funktioniert gut. Und das ist im Allgemeinen sicher, denn wenn Sie eine XPath-Abfrage schreiben möchten, die mehr als einen Knotentyp zurückgibt, müssen Sie daran arbeiten. –
@Robert - nun, es könnte ein Attribut oder ein Textknoten sein; der xpath wäre ziemlich ähnlich ... aber in diesem Fall gibt das OP an, dass sie Elemente lesen; * Das * ist, was es sicher macht. –