получение значения между тегами XML Xerces C++ Parser

В настоящее время я использую библиотеку Xerces для анализа XML-файла на С++. У меня написан синтаксический анализатор алгоритма, и единственное, чего не хватает, это как получить значение между двумя тегами? Например, <name>John</name>, я хотел бы иметь возможность получить значение John, чтобы я мог сохранить его в строковой переменной, которая у меня есть для этой цели. Я знаю, что с помощью

DOMElement * current = root->getFirstChildElement();
const XMLCh * tag = current->getTagName();
cout << XMLString::transcode(tag) << endl;

Я смогу распечатать этот тег, но меня больше интересует значение между тегами. Любые идеи?


person cybertextron    schedule 22.06.2012    source источник
comment
Вы смотрели документацию Xerces?   -  person Anon Mail    schedule 22.06.2012


Ответы (2)


DOMNode::getTextContent() даст вам Джона из вашего примера

person reevh    schedule 26.07.2012

Вы пробовали current->getNodeValue() ?

person Steve H.    schedule 22.06.2012
comment
Вероятно, это даст вам пустой результат, если узел имеет элементы в качестве содержимого. Вы, вероятно, увидите непустые результаты для узлов со смешанным или текстовым содержимым. В вашем примере вы используете первый дочерний элемент корневого узла. Этот узел имеет смешанное содержимое? - person Steve H.; 22.06.2012