xml - 编写带有属性的 xmlns 元素

标签 xml vb.net xmlwriter

我正在使用 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/

相关文章:

sql - OpenXML 返回 NULL

c++ - 解析以 UTF-8 编码的 XML

xml - 使用 XSD 的可追溯性

c# - VB.NET 执行顺序

.net - 如何在 VB.NET 中使用 IsNullOrEmpty?

vb.net - 将 MIME 编码的附件发布到 Ariba Supply Network 时出现问题

php - 无法在 ubuntu 16.04 上安装 simplexml 扩展

c# - 我需要在一个元素中使用 XmWriter 的多个 xmlns 元素

c# - 如何使用没有声明元素的 xml writer 创建 xml