5

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

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

我得到调试错误:

前缀 '' 不能在同一起始元素标记中从 '' 重新定义为 'urn:nsSBAK'。

你能帮助我吗 ?

4

1 回答 1

9

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

xmlWriter.WriteStartElement("XmlRoot", "urn:nsSBAK");
xmlWriter.WriteAttributeString("xsi", "schemaLocation", "http://www.w3.org/2001/XMLSchema-instance", "urn:nsSBAK SBAK.xsd");
于 2011-05-18T17:39:07.930 回答