"There is an error in XML document (0, 0)." error while XML Deserialization

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
Hi

I am trying experimenting with XML serialization and deserialization using XSD.exe to generate the classes for me from my XML schema. The schema is pretty straight forward and is as follows

<span style="color:rgb(0,0,255) <?xml version="1.0" encoding="utf-8" ?><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255) <xsd: schema xmlns: xsd="http://www.w3.org/2001/XMLSchema"<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             targetNamespace ="http://tryingXML.prasad.org/exampel2" <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             xmlns:tns="http://tryingXML.prasad.org/exampel2 <br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   <xsd:element name="Properties" type ="tns: PropertyType"/><br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   <xsd: complexType name ="PropertyType" ><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     <xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="KeyValuePair" nillable ="false" type ="tns: KeyValue"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="ArrayOfElements" type ="tns: ArrayType" /><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     </xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   </xsd:    complexType><br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   <xsd: complexType name ="KeyValue <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     <xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name="Key" type ="xsd: string"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name="Value" type ="xsd: string"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     </xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   </xsd:  complexType><br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   <xsd: complexType name ="ArrayType <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     <xsd: sequence minOccurs ="0" maxOccurs ="unbounded <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="ArrayElement" type ="tns: ElementType"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     </xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   </xsd: complexType><br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   <xsd: complexType name ="ElementType <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     <xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="serverName" type ="xsd: string"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="Instance" type ="xsd: string" /><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)       <xsd: element name ="IntegratedAuth" type ="xsd: string"/><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)     </xsd: sequence><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)   </xsd: complexType><br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255) </xsd: schema>

I wrote following code to serialize / deserialize XML data for above schema. Following is the sample code.

<span style="color:rgb(0,0,255)             XmlSerializer serialize = new XmlSerializer(typeof(PropertyType), "http://tryingXML.prasad.org/exampel2");<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             PropertyType property = new PropertyType();<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             property.KeyValuePair = new KeyValue();<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             property.KeyValuePair.Key = "Test";<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             property.KeyValuePair.Value = "TestValue";<br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             ElementType[] arrElems = new ElementType[] { new ElementType { Instance ="TestServer", IntegratedAuth ="SSPI", serverName ="TST"}<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             };<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             property.ArrayOfElements = new ArrayType();<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             property.ArrayOfElements.ArrayElement = arrElems;<br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             FileStream stream = new FileStream("Output.xml",FileMode.Create);<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             serialize.Serialize(stream, property);<br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)         <br style="color:rgb(0,0,255) <br style="color:rgb(0,0,255) <span style="color:rgb(0,0,255)             PropertyType ptype = (PropertyType)serialize.Deserialize(stream);<br style="color:rgb(0,0,255)
It serializes the values I am specifying to the XML file, but when I try to deseriaize the same file I get an error
"There is an error in XML document (0, 0)." with an inner exception of "Root Element is missing".

Let me know if I need to do anything else for this.

Thanks
Prasad



View the full article
 
Back
Top