muszę być w stanie utworzyć dokument XML, który wygląda tak:Jak mogę dodać atrybuty xml z różnymi przedrostkami/przestrzeniami nazw w C#?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rootprefix:rootname
noPrefix="attribute with no prefix"
firstprefix:attrOne="first atrribute"
secondprefix:attrTwo="second atrribute with different prefix">
...other elements...
</rootprefix:rootname>
Oto mój kod:
XmlDocument doc = new XmlDocument();
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
doc.AppendChild(declaration);
XmlElement root = doc.CreateElement("rootprefix:rootname", nameSpaceURL);
root.SetAttribute("schemaVersion", "1.0");
root.SetAttribute("firstprefix:attrOne", "first attribute");
root.SetAttribute("secondprefix:attrTwo", "second attribute with different prefix");
doc.AppendChild(root);
Niestety, co dostaję do drugiego atrybutu z drugim prefiksu w ogóle nie jest prefiksem. To tylko "attrTwo" - podobnie jak atrybut schemaVersion.
Czy istnieje sposób na różne prefiksy dla atrybutów w elemencie głównym w C#?
Warto zauważyć, że NameTable i AddNamespace jest potrzebne tylko wtedy, gdy trzeba ustalić skrót przestrzeni nazw, a następnie domyślną konwencję nazewnictwa (d1p1, d1p2, ...) –