2015-08-27 5 views
0

В чем разница между getElementsByTagName() с tagName и с .//tagName?В чем разница между getElementsByTagName() с tagName и с .//tagName?

Когда мы передаем тэг в getElementsByTagName(), в этом смысл, когда мы добавляем «.//»?

В чем разница между

sSourceInputXml ->

getElementsByTagName(_bstr_t(".//author"), &xml2); 

и

sSourceInputXml ->

getElementsByTagName(_bstr_t("author"), &xml2); 

?

Оба возвращают мне то же количество элементов.

Любая помощь приветствуется.

+0

Какая библиотека XML? –

+0

xml library is msxml6.dll – Veeru

ответ

0

// означает этап определения descendant-or-self:node(), который извлекает текущий узел и всех его потомков.

. означает self::node(), который получает контекстный узел.

Шаг по умолчанию - child, который получает дочерние элементы контекстного узла.

Если вам нужна дополнительная информация, отметьте here.

+0

Спасибо за информацию. Но есть ли разница, если я использую .//TagName и напрямую использую TagName? то есть. прямое использование автора, как показано: getElementsByTagName (_bstr_t («author»), &xml2); – Veeru

+0

@Veeru, насколько я понимаю, нет. Режим по умолчанию возвращает дочерние элементы контекста и .// возвращает контекстный нос и его дочерние элементы. Поэтому, если вы не ищете для самого контекстного узла (звучит маловероятно) не будет никакой разницы. – EvgeniyZh

+0

Большое спасибо за быстрый ответ. – Veeru

 Смежные вопросы

  • Нет связанных вопросов^_^