Ошибка XML WriteAttributeString - PullRequest
4 голосов
/ 18 мая 2011

Когда я пишу эту запись здесь:

<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' в пределах тот же тег элемента начала.

Вы можете мне помочь?

1 Ответ

9 голосов
/ 18 мая 2011

Вам необходимо определить пространство имен элемента в самом WriteStartElement. Также заметил, что вы не добавили пространство имен в свой schemaLocation. который вы даете в желаемый результат. Также добавил, что для вас в моем примере:

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