使用TinyXML查找特定文本值

时间:2012-10-10 08:08:49

标签: c++ 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 个答案:

答案 0 :(得分:3)

借助这样的代码:

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=""
}

答案 1 :(得分:2)

  1. 打开TiXmlDocument;
  2. 获取根TiXmlElement;
  3. 获取FirstChild()名为'text';
  4. 获取Attribute()名为'value'的值,用它做点什么;
  5. 获取名为“text”的NextSibling()元素;
  6. 重复直到不再有兄弟姐妹。