Так вот мой случай.
У меня есть XElement, назовем его root, у которого есть потомки, у которых есть потомки и т. Д. Я извлекаю потомок, используя LINQ to XML, загружаю его в редактор заметок, используя .ToString()
, и редактирую его. Теперь я хочу обновить / заменить исходный элемент-потомок отредактированной версией.
Позвольте мне упомянуть, что это простой XML-файл, без схемы, без использования DOM и т. Д. Мне нужно только иметь возможность редактировать и обновлять / заменять элемент.
Вот макет моего 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>
Теперь скажите, что я хочу отредактировать элемент "Pink Floyd", чтобы исправить фамилию Роджера Уотерса. Я получаю этот элемент, преобразую его в строку, загружаю в свой редактор, делаю необходимые изменения и преобразую его обратно в XElement, используя .Parse()
.
Теперь, как мне обновить / заменить узел "Pink Floyd" в моем исходном XML?