Как найти дочерние элементы определенного узла? с TinyXpath
Я успешно использовал TinyXpath с корневым узлом, как показано ниже
const char* xpath ="/MyRoot/A/B";
TinyXpath::xpath_processor xp_proc(mRootElement, xpath);
(это найдет все B под всеми A MyRoot)
Интересно, смогу ли я передать некорневой элемент в конструктор, как показано ниже
const char* xpath = "./A/B";
TinyXpath::xpath_processor xp_proc(A_Element, xpath);
(Я хочу найти все B под определенным A, когда у меня есть A_Element)
Спасибо
1 ответ
Решение
Учитывая это определение конструктора из документации TinyXPath:
xpath_processor (const TiXmlNode *XNp_source_tree,
const char *cp_xpath_expr)
Вы могли бы иметь:
xpath_processor(A_Element, "A/B");
при условии, что A_Element
имеет тип TiXmlNode*
Это выберет все B
элементы, которые являются детьми A
элемент, который является дочерним элементом элемента, на который ссылается A_Element
,
Если вы хотите выбрать все B
элементы, которые являются потомками элемента, на который ссылается A_Element
тогда вызов должен быть:
xpath_processor(A_Element, "B");