Lors de la génération de XML à partir de XmlDocument dans .NET, un xmlns
attribut vide apparaît la première fois qu'un élément sans espace de noms associé est inséré; comment peut-on éviter cela?
Exemple:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Production:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Sortie souhaitée :
<root xmlns="whatever:name-space-1.0"><loner /></root>
Existe-t-il une solution applicable au XmlDocument
code, pas quelque chose qui se produit après la conversion du document en chaîne avec OuterXml
?
Mon raisonnement pour faire cela est de voir si je peux faire correspondre le XML standard d'un protocole particulier en utilisant le XML généré par XmlDocument. L' xmlns
attribut vide peut ne pas casser ou confondre un analyseur, mais il n'est pas non plus présent dans les utilisations que j'ai vues de ce protocole.