c# - Namespace redefinition exception if XmlTextWriter is declared a certain way -


i bulding xdocument , serializing utf8 string following code:

string xmlstring = ""; using (memorystream ms = new memorystream()) {   using (xmlwriter xw = new xmltextwriter(ms, encoding.utf8))   {     doc.save(xw);     xw.flush();     streamreader sr = new streamreader(ms);     ms.seek(0, seekorigin.begin);     xmlstring = sr.readtoend();   } } 

this worked fine.

i needed toggle whether or not declarator serialized string. changed code this:

string xmlstring = ""; using (memorystream ms = new memorystream()) {   xmlwritersettings settings = new xmlwritersettings()   {     omitxmldeclaration = !root.includedeclarator,     encoding = encoding.utf8   };   using (xmlwriter xw = xmltextwriter.create(ms, settings))   {     doc.save(xw);     xw.flush();     streamreader sr = new streamreader(ms);     ms.seek(0, seekorigin.begin);     xmlstring = sr.readtoend();   } } 

this throws following exception on doc.save(xw):

the prefix '' cannot redefined '' 'my_schema_here' within same start element tag.

i trying figure out why xdoc can saved if writer "new"ed up, not if ".create"d. ideas?

jordon

i fixed adding namespace name of root element in xdocument. still, it's strange isn't necessary if "new xmltextwriter()" used instead of "xmltextwriter.create()" or "xmlwriter.create()".

jordon


Comments

Popular posts from this blog

linux - Mailx and Gmail nss config dir -

c# - Is it possible to remove an existing registration from Autofac container builder? -

php - Mysql PK and FK char(36) vs int(10) -