Есть ли способ получить значение XML по тегу в быстрой XML с использованием C ++ - PullRequest
0 голосов
/ 07 октября 2010

есть какой-либо способ получить значение тега по его тэгу в 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 Ответ

1 голос
/ 07 октября 2010

Вы должны быть в состоянии вызвать 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;Описание

Получает первый дочерний узел, необязательно совпадая с именем узла.

Параметры

name

Имя дочернего элемента для поиска или 0 для возврата первого дочернего элемента независимо от его имени;эта строка не должна заканчиваться нулем, если name_size не ноль

name_size

Размер имени, в символах или 0, чтобы размер автоматически вычислялся из строки

case_sensitive

Должно ли сравнение имен быть чувствительным к регистру;не чувствительное к регистру сравнение работает должным образом только для символов ASCII

Возвращает

Указатель на найденный дочерний элемент или 0, если не найден.

RapidXML не поддерживает XPath дляболее богатые запросы, хотя.

...