Wie kann ich aktualisieren/ersetzen ein element der ein XElement aus einem string?

So, hier ist mein Fall.

Habe ich ein XElement, nennen wir es mal root, die Nachkommen, die Nachkommen, etc. Ich ziehe ein Nachkomme mit LINQ to XML, laden Sie Sie in eine memo-editor mit .ToString() und Bearbeiten. Jetzt möchte ich aktualisieren/ersetzen der original untergeordnete element mit der bearbeiteten version.

Lassen Sie mich noch erwähnen, dass dies eine einfache XML-Datei ohne schema, nicht mit DOM, etc. Ich muss nur in der Lage sein, zu Bearbeiten und zu aktualisieren/ersetzen eines Elements.

Hier ein mockup von meinem XML:

<Root>
  <Genre Name="Rock">
    <Artist Name="Pink Floyd">
      <BandMembers>
        <Member>Nick Mason</Member>
        <Member>Syd Barret</Member>
        <Member>David Gilmour</Member>
        <Member>Roger Water</Member>
        <Member>Richard Wright</Member>
      </BandMembers>
      <Category>Favorite band of all time</Category>
    </Artist>
    <Artist Name="Led Zepelin">
      <Category>Love the band</Category>
    </Artist>
  </Genre>
  <Genre Name="Blues">
    <Artist Name="Muddy Waters">
      <Instrument>Harmonica</Instrument>
    </Artist>
    <Artist Name="Howling Wolf">
      <Instrument>Guitar</Instrument>
    </Artist>
  </Genre>
</Root>

Nun sagen, dass ich Bearbeiten möchte "Pink Floyd" - element zu korrigieren Roger Waters' letzten Namen. Ich bekomme das element, es in einen string konvertieren, laden Sie Sie in meinem editor, nehmen Sie die änderungen, die ich will, und wandelt es wieder in ein XElement mit .Parse().

Nun, wie kann ich aktualisieren/ersetzen der "Pink Floyd" - Knoten in meiner ursprünglichen XML?

Ich aktualisiert Ihre XML-da hatte es einige unterschiedliche Namen und den fehlenden Artikeln. Es ist eine gültige Struktur, aber es ist immer noch nicht vollständig konsistent, mit Artsists Auftritt außerhalb eines Genres.
Ich aktualisiert die XML-Datei zu setzen Matschig und Heulen im inneren der Blues <Gattung> - tag. Jetzt sind Sie zu Hause! 😉
Oops! Das ist, was ich kostenlos bekommen-übergabe der XML. =)

InformationsquelleAutor Welton v3.58 | 2011-04-28

Schreibe einen Kommentar