Проблема добавления пространств имен в MSXML (с помощью setProperty ('SelectionNamespaces', ...)) - PullRequest
1 голос
/ 03 апреля 2010

Некоторое время назад я задал вопрос относительно использования пространств имен в MSXML.Сначала я обошел все это с помощью XPath *[local-name()] -хак (см. Мой предыдущий пост), но, испытав кризис совести, я решил сделать все правильно.(Doh!)

Рассмотрим следующий XML:

<?xml version="1.0" encoding="UTF-8"?>
<Root xsi:schemaLocation="http://www.foo.bar mySchema.xsd" xmlns="http://www.foo.bar" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <MyElement>
  </MyElement>
</Root>

Когда я пытаюсь добавить эти пространства имен, используя IXMLDOMDocument3.setProperty('SelectionNamespaces', NSString);, я получаю следующую ошибку: «Значение свойства SelectionNamespaces недопустимо.допускаются правильно сформированные атрибуты xmlns. "При удалении пространства имен xsi:schemaLocation="http://www.foo.bar mySchema.xsd" все работает гладко.Что я здесь не так делаю?Есть ли ошибка в XML?Виноват ли MSXML?

1 Ответ

0 голосов
/ 17 ноября 2011

xsi: schemaLocation = "..." не является определением пространства имен, это атрибут элемента , который находится в пространстве имен xsi. Поэтому удаление этого из списка пространств имен, как вы это сделали, уже является решением.

...