2013-06-12 70 views
0

我正在使用XmlWriter生成XML文件。我试图复制一个旧的XML文件,我想创建一个看起来像这样的条目;使用属性写入xmlns元素

<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"> 

我怎样才能得到这些出现在我想要的顺序。 请任何帮助。

回答

0

XmlWriter让你写,当你想如果值是一个比WriteStartElement指定的相同xmlns属性:

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" /> 
+0

有点姗姗来迟,但谢客@VirtualBlackFox。它的工作 - 非常感谢您的答复。 – SHA22A