Beim Generieren von XML aus XmlDocument in .NET xmlns
wird beim ersten Einfügen eines Elements ohne zugeordneten Namespace ein leeres Attribut angezeigt . Wie kann dies verhindert werden?
Beispiel:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Ausgabe:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Gewünschte Ausgabe:
<root xmlns="whatever:name-space-1.0"><loner /></root>
Gibt es eine Lösung für den XmlDocument
Code, die nicht nach dem Konvertieren des Dokuments in eine Zeichenfolge mit auftritt OuterXml
?
Mein Grund dafür ist, zu prüfen, ob ich mit XmlDocument-generiertem XML mit dem Standard-XML eines bestimmten Protokolls übereinstimmen kann. Das leere xmlns
Attribut darf einen Parser nicht beschädigen oder verwirren, aber es ist auch in keiner Verwendung vorhanden, die ich von diesem Protokoll gesehen habe.