.NETでXmlDocumentからXMLを生成する場合、関連付けられた名前空間のないxmlns
要素が初めて挿入されると、空白の属性が表示されます。これをどのように防ぐことができますか?
例:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
出力:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
望ましい出力:
<root xmlns="whatever:name-space-1.0"><loner /></root>
ドキュメントを文字列に変換した後にXmlDocument
発生するものではなく、コードに適用可能な解決策はありますか?OuterXml
これを行う理由は、XmlDocumentで生成されたXMLを使用して、特定のプロトコルの標準XMLと一致できるかどうかを確認することです。空のxmlns
属性はパーサーを壊したり混乱させたりすることはないかもしれませんが、このプロトコルについて私が見たどのような使用法にも存在しません。