Wie Deserialisieren eines XML-Dokument mit namespace-Präfix, aber kein ns-Präfix-Elemente?
Ich habe ein XML-Dokument aus einer externen Quelle.
<?xml version="1.0" encoding="utf-8"?>
<ns0:Info xmlns:ns0="http://www.ZomboCorp.com/">
<Name>Anthony</Name>
<Job>Developer</Job>
</ns0:Info>
Muss ich Deserialisieren, es in ein Objekt wie dieses.
public class Info
{
public String Name { get; set; }
public String Job { get; set; }
}
Verwendet, die Serializer
wirft ein InvalidOperationException
<Info xmlns='http://www.ZomboCorp.com/'>
war nicht zu erwarten.
Wenn ich [XmlElement(Namespace = "http://www.ZomboCorp.com/")]
der definition der Klasse, die Serializer
gibt ein neues Info
Objekt mit null-Eigenschaften.
InformationsquelleAutor Anthony Mastrean | 2009-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die XmlElement-Attribut zu jeder Eigenschaft, als auch die Einstellung der Namespace-Eigenschaft auf eine leere Zeichenfolge (als namespace wird nicht vererbt, in Ihrer situation).
Ihre definition für die Info sollte wie folgt Aussehen:
Dann wird es ordnungsgemäß deserialisiert.
Vielen Dank für die gehen aus dem Weg, um tatsächlich code ausführen. Ich werde +1 Ihre Antwort 🙂
InformationsquelleAutor casperOne
Ich verwendet xsd.exe (ein VS-Werkzeug) und erzeugt ein schema aus der XML-Datei und dann eine class-Datei aus dem schema. Es schlug
Aber, ich war in der Lage, Weg mit
InformationsquelleAutor Anthony Mastrean