.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
属性は、パーサーを壊したり混乱させたりすることはありませんが、このプロトコルで私が見たどの使用法にも存在しません。