Al generar XML a partir de XmlDocument en .NET, xmlns
aparece 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 XmlDocument
có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 xmlns
atributo en blanco no puede romper o confundir a un analizador, pero tampoco está presente en ningún uso que haya visto de este protocolo.