Найти конкретные значения текста с TinyXML
У меня есть XML-файл, как показано ниже. Я хочу найти конкретные значения текста в разное время. Как я могу получить доступ к значениям текста с TinyXML
-<language>
<text value="Advanced Sensor Controls" parameter="title"/>
<text value="Refresh" parameter="refresh_button"/>
<text value="Show" parameter="button_show"/>
<text value="Hide" parameter="button_hide"/>
<text value="Raw Command" parameter="label_raw_command_title"/>
<text value="Expected RX" parameter="label_raw_command_expected_rx"/>
</language>
2 ответа
Решение
- Открой
TiXmlDocument
; - Получить рут
TiXmlElement
; - Получить
FirstChild()
с именем "текст"; - Получить значение
Attribute()
названный 'значением', сделайте что-нибудь с этим; - Получить
NextSibling()
элемент с именем "текст"; - Повторите, пока нет больше братьев и сестер.
С помощью такого кода:
TiXmlDocument file( xmlfilename );
TiXmlElement *language = file.FirstChildElement("language");
for(TiXmlElement *text =
language->FirstChildElement(
"text");
text;
text =
language->NextSiblingElement() )
{
text->Attribute("value"); // this returns text in value=""
text->Attribute("parameter"); // this returns text in parameter=""
}