Re[7]: XML работает, XML+XSD - нет
От: dead0k  
Дата: 09.06.16 11:47
Оценка:
Здравствуйте, sushko, Вы писали:

S>А если бы структура была одинаковая, но с разными префиксами, то как при помощи MSXML мне ее надо было бы читать? Ведь узел "Documents" может называться и "ns:Documents", и "d3p1:Documents", и как угодно еще? Как мне получить доступ к этому узлу, учитывая, что на момент компиляции своей программы я не знаю префикса? Как мне получить этот префикс из XML-документа?

Не скажу за msxml, но в нормальных парсерах все просто.
uri схемы у тебя есть, имя ноды у тебя есть.
биндишь uri к произвольному префиксу, составляешь xpath запрос с этим префиксом:
    m_pDocument->SetProperty("SelectionNamespaces", "xmlns:MyCoolNamespacePrefix= 'http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01'")
    m_pDocument->selectNodes((bstr_t)"//MyCoolNamespacePrefix:Documents/MyCoolNamespacePrefix:Document/MyCoolNamespacePrefix:TTNInformBReg/MyCoolNamespacePrefix:Header/*", &pNodes);

за корректность синтаксиса не ручаюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.