I know there are several posts out there with this topic, but I can't seem to figure out what is the problem here. I have serialized and deserialized xml several times, and never had this error.
The exception message is:
There is an error in XML document (1, 2).
With InnerException:
<InvoiceChangeRequest xmlns=''> was not expected.
XML file I want to deserialize:
<ns1:InvoiceChangeRequest xmlns:ns1="http://kmd.dk/fie/external_invoiceDistribution"> <CONTROL_FIELDS> <STRUCTURID>0000000001</STRUCTURID> <OPERA>GET</OPERA> <WIID>000050371220</WIID> </CONTROL_FIELDS> <HEADER_IN> <MANDT>751</MANDT> <BELNR>1234567890</BELNR> </HEADER_IN> <ITEMS> <ITEM_FIELDS_IN> <BUZEI>001</BUZEI> <BUKRS>0020</BUKRS> </ITEM_FIELDS_IN> </ITEMS> Class I'm trying to deserialize to:
[XmlRoot(Namespace = "http://kmd.dk/fie/external_invoiceDistribution", IsNullable = false)] public class InvoiceChangeRequest { [XmlElement("CONTROL_FIELDS")] public ControlFields Styrefelter; [XmlElement("HEADER_IN")] public HeaderIn HeaderfelterInd; [XmlElement("ITEMS")] public Items Linjer; } public class HeaderIn { [XmlElement("MANDT")] public string Kommunenummer; [XmlElement("BELNR")] public string RegnskabsbilagsNummer; } public class Items { [XmlElement("ITEM_FIELDS_IN")] public Itemfield[] ItemfelterInd; } public class Itemfield { [XmlElement("BUZEI")] public string Linjenummer; [XmlElement("BUKRS")] public string Firmakode; } Deserialization code:
XmlSerializer serializer = new XmlSerializer(typeof(InvoiceChangeRequest)); var request = serializer.Deserialize(new StringReader(output)) as InvoiceChangeRequest;
No comments:
Post a Comment