如何使用WriteStartElement重命名xmlns =“”?

时间:2012-01-01 07:05:01

标签: c# xml-namespaces xna-4.0 xmlwriter

我正在尝试制作一个将由XNA内容阅读器解析的XML。我正在使用XMLWriter,格式应该是:

<XNAContent>
     <Assest Type="namespace">
          <Element>"Value"</Element>
     </Asset>
<XNAContent>

但是当我使用WriteStartElement声明命名空间时,我得到:

 <XNAContent>
     <Assest xmlns="namespace">
          <Element>"Value"</Element>
     </Asset>
<XNAContent>

由于管道期望的内容,我有Asset Type=而不是Asset xmlns=这一点很重要,但我找不到让我重命名该默认标记的重载。

XMLWriter是否有办法让我按照描述将自己的标记放在那里?谢谢,全部。

1 个答案:

答案 0 :(得分:3)

您将XML属性与命名空间混淆,xmlns是一个“特殊”属性,用于定义XML元素及其子元素的命名空间。而Type是一个简单的属性。要编写属性值,请使用WriteAttributeString方法。

例如:

 writer.WriteStartElement("Asset");

 writer.WriteAttributeString("Type", "namespace");

 writer.WriteEndElement();

将导致

<Asset Type="namespace">
</Asset>