2011-07-14 10 views
6

Mam trochę Xml, który muszę deserializować do obiektu. XML jest:C# - Element Xml z atrybutem i wartością węzła

<Person> 
    <Type id="1234">Bob</Type> 
</Person> 

i klasy są:

public class Person { public Type Type; } 
public class Type { 
    [XmlAttribute("id")] 
    public string id; 
    // another property for value "Bob" here, such as: 
    public string value; // ???? 
} 

Chciałbym deserializowania ten XML przy użyciu XmlSerializer.Deserialize, do konkretnych obiektów powyżej (unikając przy użyciu XPath, etc.)

Do jakiego atrybutu Xml mogę ozdobić klasę "Typ", aby mieć nie tylko atrybut "id", ale także wartość ("Bob")?

+0

Gdzie jest wartość ' "Bob"' przechowywane w C#? – ChaosPandion

+0

to po prostu to ... teraz nie jest. Muszę wiedzieć, jak go reprezentować w obiekcie i który XmlAttribute (jeśli jest), aby oznaczyć go. – dotNetkow

+0

Naprawdę musisz zmienić nazwę 'Type' na' PersonType' lub coś podobnego, ponieważ jest to oczywiście sprzeczne z 'System.Type' –

Odpowiedz

8

Trzeba by dodać obiekt jak

[XmlText] 
public string Text; 
+0

ah, rozumiem. Wiedziałem, że to coś prostego! dzięki! – dotNetkow

Powiązane problemy