Lors de la génération de XML à partir de XmlDocument dans .NET, un xmlnsattribut 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 XmlDocumentcode, 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' xmlnsattribut 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.