XML WriteAttributeString错误

agh*_*aux 4 c# xml xmlwriter

当我在这里写这个条目:

<XmlRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:nsSBAK" xsi:schemaLocation ="urn:nsSBAK SBAK.xsd"> 
Run Code Online (Sandbox Code Playgroud)

使用此代码:

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");
Run Code Online (Sandbox Code Playgroud)

我收到调试错误:

在同一个start元素标记内,前缀''不能从''重新定义为'urn:nsSBAK'.

你能帮助我吗 ?

Jan*_*Vos 9

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

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