Как найти дочерние элементы определенного узла? с 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");
Другие вопросы по тегам