所以這是我的情況。如何從字符串更新/替換XElement的元素?
我有一個XElement,我們稱之爲根,它有後代,後代等。我使用LINQ將一個後代拉到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>
現在說我要編輯「平克·弗洛伊德」元素糾正羅傑·沃特斯姓。我得到該元素,將其轉換爲字符串,將其加載到我的編輯器中,進行我想要的更改,然後使用.Parse()
將其轉換回XElement。
現在,我如何更新/替換我的原始XML中的「Pink Floyd」節點?
我更新了XML,因爲它有一些不匹配的名稱和缺少的項目。這是一個有效的結構,但它仍然不完全一致,藝術家在體裁之外發生。 – 2011-04-28 15:58:11
我更新了XML,將Muddy和Howling添加到Blues標記中。現在他們回家了! ;) –
pmartin
2011-04-28 17:36:44
哎呀!這就是我爲了自由處理XML而得到的。 =) – 2011-05-02 15:56:56