c# - Troubles wtih comments in XmlSerialzier -
i try load xml file code:
xmlserializer xmlserializer = new xmlserializer(typeof(myobject)); streamreader reader = new streamreader(filename); object myobject = xmlserializer.deserialize(reader);
when file contains comment this:
<?xml version="1.0" encoding="utf-8"?> <!-- edited xmlspy v2007 sp2 --> <route> <!--file created on 26-nov-2010 12:36:42--> <file_content>1 <!--0 = type1 ; 1 = type2--> </file_content> </route>
xmlserializer returns error like
unexpected node type comment. readelementstring method can called on elements simple or empty content
when remove comments in file it's work fine.
i don´t know problem, ideas?
as can see comments not allowed in serialized xml, should pose no problem you. might not control source xml control deserialization process, remove comments prior deserialization:
xmlserializer xmlserializer = new xmlserializer(typeof(myobject)); // load document xmldocument doc = new xmldocument(); doc.load(filename); // remove comments xmlnodelist l = doc.selectnodes("//comment()"); foreach (xmlnode node in l) node.parentnode.removechild(node); // store memory stream , rewind memorystream ms = new memorystream(); doc.save(ms); ms.seek(0, seekorigin.begin); // deserialize using clean xml xmlserializer.deserialize(xmlreader.create(ms));
if objects huge , deserialize huge number of them in short span, howler, can investigate out-of-framework fast xpath readers.
Comments
Post a Comment