Al generar XML a partir de XmlDocument en .NET, xmlnsaparece un atributo en blanco la primera vez que se inserta un elemento sin un espacio de nombres asociado; ¿Cómo se puede prevenir esto?
Ejemplo:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Salida:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Salida deseada :
<root xmlns="whatever:name-space-1.0"><loner /></root>
¿Existe una solución aplicable al XmlDocumentcódigo, no algo que ocurre después de convertir el documento a una cadena con OuterXml?
Mi razonamiento para hacer esto es ver si puedo igualar el XML estándar de un protocolo en particular usando XML generado por XmlDocument. El xmlnsatributo en blanco no puede romper o confundir a un analizador, pero tampoco está presente en ningún uso que haya visto de este protocolo.