2011-08-22 147 views
0

我可以創建一個對象來保存反序列化的xml文件。將Xml元素映射到對象很容易,我只是在匹配元素名稱的類中創建屬性。但是,我怎樣才能將Xml屬性映射到類。舉例來說,如果我有這樣的:如何反序列化XML屬性

<Typestyle name="" location="" />

我要反序列化的名稱和位置屬性爲我的類屬性?

回答

2

爲什麼不使用.NET Framework SDK中的xsd.exe工具來創建一個表示模式C#類代碼。然後將這些類添加到您的項目中,並且可以將XmlSerializer與這些類一起使用,而無需親自編寫類代碼。

試試這個http://msdn.microsoft.com/en-us/library/x6c1kb0s.aspx

+0

如果XSD的模式不存在呢? –

+0

xsd.exe工具還可以從格式良好的XML中推斷(創建)XML模式文檔。 – Bobby

+0

在複雜情況下,您需要手動編輯生成的模式。 –

2

請看XmlAttributeAttribute班。

public class TypeStyle 
{ 
    [XmlAttribute("name")] 
    public string Name { get; set; } 

    [XmlAttribute("location")] 
    public string Location{ get; set; } 
} 
+0

這是一個奇怪的類名,是:) – Zruty

0
public class Typestyle 
{ 
    [XmlAttribute] 
    public string name { get; set; } 
    [XmlAttribute] 
    public string location { get; set; } 
}