Есть ли способ получить значение XML по тегу в быстрой XML с использованием C++
Есть ли способ получить значение тега по его тэгу в rapidxml, используя C++
<?xml version=\1.0\ encoding=\latin-1\?>
<book>example</book>
<book1>example1</book1>
мне нужно получить балансовую стоимость, т.е. пример и стоимость book1.... мы можем использовать это doc.first_node()->value()
получить первый узел и следующий узел, но мне нужно, есть ли способ получить значение, как get by name
Ответ
xml_node<> *node = doc.first_node("book");
cout <<< node->value() << "\n";
1 ответ
Вы должны быть в состоянии вызвать first_node, используя имя узла для сопоставления. Из документов:
функция xml_node::first_node
конспект
xml_node* first_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const; Описание
Получает первый дочерний узел, необязательно совпадая с именем узла.
параметры
название
Имя ребенка, чтобы найти, или 0, чтобы вернуть первого ребенка, независимо от его имени; эта строка не должна заканчиваться нулем, если name_size не равен нулю
name_size
Размер имени, в символах или 0, чтобы размер вычислялся автоматически из строки
с учетом регистра
Должно ли сравнение имен быть чувствительным к регистру; не чувствительное к регистру сравнение работает корректно только для символов ASCII
Возвращает
Указатель на найденного ребенка или 0, если не найден.
RapidXML не поддерживает XPath для более сложных запросов.