如何使用XmlWriter在Element中编写命名空间

时间:2016-03-02 12:30:20

标签: c# xml xmlwriter

我正在将代码从vbs更改为C#,但是我有一个XMLwriter的问题,如何使用XML write在XML.file中获取这样的输出:??

我有这样的代码:

using (XmlWriter writer = XmlWriter.Create(Form1.systemDrive + "\\unattend.xml"))
{
    writer.WriteStartDocument();
    writer.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
    writer.WriteStartElement("unattend");
    writer.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:unattend"); // <<<<<<< Gives an error 

...

1 个答案:

答案 0 :(得分:0)

如果您只想将无人参与标记放入给定的命名空间,请不要使用WriteAttributeString,只需使用

writer.WriteStartElement("unattend","urn:schemas-microsoft-com:unattend");

如果命名空间被分配给前缀,它将使用前缀,否则它将生成必要的xmlns子句。

此外,WriteStartDocumentWriteProcessingInstruction是多余的。两者都产生相同的输出,但是你只能有一个处理指令,所以你可以使用其中一个而不是两个。