2012-05-24 74 views
0

我找不到一個簡單的方法來完成我所要求的。 我有一個對象:管理XML文檔

public class Item 
{ 
    public string Name { get; set; } 
} 

,我想:

1)創建XML文檔:

<?xml version="1.0" encoding="utf-8"?> 
<Items> 
    <Item Name="Item1"/> 
    <Item Name="Item2"/> 
</Items> 

2)讀取XML文件:

for each NodeT node in MyXMLDocument 
{ 
    Item i = new Item(node); 
} 

3)管理xml文檔,例如刪除Item1並添加Item3(或更改屬性值)

<?xml version="1.0" encoding="utf-8"?> 
<Items> 
    <Item Name="Item2"/> 
    <Item Name="Item3"/> 
</Items> 

我該如何儘可能簡單地做到這一點? 謝謝。

回答

0

XML序列化將是我認爲最簡單的方法,但你必須處死<items><ArrayOfItems>

您可以系列化你對象轉換爲字符串,然後將它們保存到文件中:

string ToXml(object instance) 
{ 
    XmlSerializer serializer = new XmlSerializer(instance.GetType()); 
    StringBuilder builder = new StringBuilder(); 

    using (StringWriter writer = new StringWriter(builder)) 
    { 
     serializer.Serialize(writer, instance); 
     return builder.ToString(); 
    } 
} 

將它們從XML讀回到.NET對象只需要調用Deserialize。如果需要,您還可以使用屬性自定義對象,從而允許您選擇它們​​在XML中的顯示方式。

+0

謝謝,但我不能以這種方式看到我的3個要求。 – gliderkite

+0

@gliderkite你想創建一個XML文檔並對其進行更新,當然,這樣做對象會比操作XML元素容易嗎?或者你有遺留的XML可以使用嗎? –

+0

我有我的數據結構和我的工作,我想序列化我的數據結構在一個XML文檔。所以我必須找到一種方法來回答我的3個問題。 – gliderkite