2010-09-29 13 views
11

podać: -xml serializacji podać XMLELEMENT i xmlattribute razem

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

    [XmlElement] 
    public string Publisher; 

    [XmlElement] 
    public string PublisherReference; 
} 

Kiedy szeregowane do XML da

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

Jak mogę dostać PublisherReference jako atrybut Publisher - na przykład

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

Odpowiedz

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 pokazał mi odpowiedź – azheglov

+0

Dzięki - ale że będzie to sposób zrobić bez tworzenia nowej klasy zrobić - po prostu przypisuje może być? Nie to, że chcę się kręcić na patyku czy cokolwiek ...;) – Ryan

+0

Niestety nie ma sposobu, aby to zrobić (o ile wiem) bez dodatkowej klasy –

Powiązane problemy