2

我正在使用 XmlWriter 生成 XML 文件。我正在尝试复制一个旧的 XML 文件,我想创建一个看起来像的条目;

<Return xmlns="http://address/here" appName="Data Return - Collection Tool" appVer="1.1.0">

我的代码如下:

        writer.WriteStartElement("Return", "http://address/here")
        writer.WriteAttributeString("appName", "Data Return - Collection Tool")
        writer.WriteAttributeString("appVer", "1.1.0")

这是以错误的顺序生成属性,即。

<Return appName="Data Return - Collection Tool" appVer="1.1.0" xmlns="http://address/here">

我怎样才能让这些以我想要的顺序出现。请提供任何帮助。

4

1 回答 1

3

XmlWriter如果值与以下中指定的值相同,则允许您在需要时编写 xmlns 属性WriteStartElement

void Main()
{
    StringWriter stringWriter = new StringWriter();
    using(XmlWriter writer = XmlWriter.Create(stringWriter))
    {
        writer.WriteStartDocument();
        writer.WriteStartElement("Return", "http://address/here");
        writer.WriteAttributeString("xmlns", "http://address/here");
        writer.WriteAttributeString("appName", "Data Return - Collection Tool");
        writer.WriteAttributeString("appVer", "1.1.0");
        writer.WriteEndElement();
        writer.WriteEndDocument();
    }

    Console.WriteLine(stringWriter.ToString());
}

输出 :

<Return xmlns="http://address/here" appName="Data Return - Collection Tool" appVer="1.1.0" />
于 2013-12-05T15:52:14.797 回答