Как запросить пространство имен по умолчанию с помощью MSXML

У меня есть немного XML:



    
          Value
    

Заметка: Это н'т фактический XML яя использую этопросто красивее и короче и демонстрирует проблему.

Используя MSXML, я могу запрашивать узлы:

IXMLDOMNode node = doc.selectSingleNode("//PropertyGroup/@Condition");

И это прекрасно работает

Condition = "»$ (Ключ)»==»1111' »

Но это'не правда ли у меня есть XML

На самом деле XML, который я имею, содержит объявление пространства имен:

XMLNS =»http://schemas.microsoft.com/developer/msbuild/2003"

делаяфактический XML-документ:



    
          Value
    

Теперь мой запрос:

IDOMNode node = doc.selectSingleNode("//PropertyGroup/@Condition");

не возвращает подходящих узлов.

Как я могу запросить пространство имен по умолчанию, используя MSXML?

Замечания:

я уже знаюкак запроситьне по умолчанию пространство имен в xml; ты используешь:

   doc.setProperty("SelectionNamespaces", 
         "xmlns="http://schemas.microsoft.com/developer/msbuild/2003");

я уже знаюкак запросить пространство имен по умолчанию в .NET, Вы используете диспетчер пространства имен, присваиваете пространству имен по умолчанию имя, затем запрашиваете это имя, а затем можете запросить пространство имен не по умолчанию, поскольку оно 'больше не по умолчанию

Можно просто удали оскорблениеxmlns текст из строки XML я получаю, но яскорееделай это правильно "

Как я могу запросить "дефолт", или же "неназванный» пространство имен с использованием MSXML?

Заметка: На самом деле XML я использую SQL Serverс XMLShowPlan выход:


   
      
           
           ...
           
      
    

Снова вы можете увидеть некорректное объявление пространства имен. Удаление работает, но этоскучно

Что еще ты пробовал?

я также попытался установитьSelectionNamespace:

doc.setProperty('SelectionNamespaces', 
      'xmlns="http://schemas.microsoft.com/developer/msbuild/2003"');

какMicrosoft намекает на в статье KB.

Как яполучить пространство имен по умолчанию?

На самом деле я неуход о пространствах имен. Мой запрос имеет смысл, и я хочу, чтобы он работал. Итак, еще один подход к вопросу может быть:

Как я могу запросить пространство имен по умолчанию, или нет, и неважно, что это имя пространства имен (или нет)т)?

Заметка: msxml isродные код и использование его из собственного компилятора Win32 (т.е. нет .NET Framework или CLR)

Ответы на вопрос(1)

Ваш ответ на вопрос