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 に答える