我正在使用 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">
我怎样才能让这些按照我想要的顺序出现。 请提供任何帮助。
最佳答案
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" />
关于xml - 编写带有属性的 xmlns 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077265/