XML WriteAttributeString错误

时间:2011-05-18 17:30:51

标签: c# xml xmlwriter

当我在这里写这个条目时:

<XmlRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:nsSBAK" xsi:schemaLocation ="urn:nsSBAK SBAK.xsd"> 

使用此代码:

xmlWriter.WriteStartElement("XmlRoot");
xmlWriter.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
xmlWriter.WriteAttributeString("xmlns", null, null, "urn:nsSBAK");
xmlWriter.WriteAttributeString("schemaLocation", null, "urn:nsSBAK SBAK.xsd");

我收到调试错误:

  

前缀&#39;&#39;无法重新定义   来自&#39;&#39; to&#39; urn:nsSBAK&#39;在...内   相同的开始元素标记。

你能帮助我吗?

1 个答案:

答案 0 :(得分:9)

您需要在WriteStartElement本身上定义元素的命名空间。 还注意到您没有将命名空间添加到schemaLocation。你选择了想要的结果。在我的例子中还为你添加了:

xmlWriter.WriteStartElement("XmlRoot", "urn:nsSBAK");
xmlWriter.WriteAttributeString("xsi", "schemaLocation", "http://www.w3.org/2001/XMLSchema-instance", "urn:nsSBAK SBAK.xsd");