Ao gerar XML a partir de XmlDocument em .NET, um xmlns
atributo em branco aparece na primeira vez que um elemento sem um namespace associado é inserido; Como isto pode ser evitado?
Exemplo:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Resultado:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Resultado desejado :
<root xmlns="whatever:name-space-1.0"><loner /></root>
Existe uma solução aplicável ao XmlDocument
código, não algo que ocorre após a conversão do documento em uma string com OuterXml
?
Meu raciocínio para fazer isso é ver se posso corresponder ao XML padrão de um protocolo específico usando XML gerado por XmlDocument. O xmlns
atributo em branco pode não quebrar ou confundir um analisador, mas também não está presente em nenhum uso que eu tenha visto desse protocolo.