2010-09-29 26 views
11

考慮: -XML序列化指定XMLELEMENT和xmlattribute一起

[XmlRoot("Book")] 
public class Book 
{ 
    [XmlAttribute] 
    public string Title; 

    [XmlElement] 
    public string Publisher; 

    [XmlElement] 
    public string PublisherReference; 
} 

當序列化爲XML將給

<Book Title="My Book"> 
    <Publisher>Some Publisher</Publisher> 
    <PublisherReference>XYZ123</PublisherReference> 
</Book> 

我怎麼能拿PublisherReference作爲出版商的屬性 - 例如

<Book Title="My Book"> 
    <Publisher Reference="XYZ123">Some Publisher</Publisher> 
</Book> 

回答

16
[XmlRoot("Book")] 
public class Book 
{ 
    [XmlAttribute] 
    public string Title; 

    [XmlElement] 
    public Publisher Publisher; 
} 

[Serializable] 
public class Publisher 
{ 
    [XmlText] 
    public string Value; 

    [XmlAttribute] 
    public string Reference; 
} 
+0

AZ打我的答案 – azheglov 2010-09-29 16:39:19

+0

感謝 - 這將做到這一點,但任何方式,而無需創建新類的事情 - 只屬性可能?不是我想要一根棍子或任何東西......;) – Ryan 2010-09-29 16:43:48

+0

不幸的是,沒有額外的課程沒有辦法做到這一點(據我所知) – 2010-10-04 15:27:17

相關問題