是否有任何方法可以使用c ++
在rapidxml中通过其标记名获取tag的值<?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";
答案 0 :(得分:1)
您应该能够使用要匹配的节点名称调用first_node。来自the docs:
function 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
名称大小,in 字符,或0表示大小 从字符串
自动计算case_sensitive
应该进行名称比较 区分大小写;不区分大小写 比较仅适用于 ASCII字符
返回
找到孩子的指针,否则为0 找到。
RapidXML不支持XPath用于更丰富的查询。