如果我有XML內容如何獲得內部節點值
<aaa> 1111<bbb>222</bbb>333 </aaa>
,那麼如何才能獲得價值,這是「1111」和「333」
,但我只能得到第一個節點的值,它是「1111」 只是
請告知
代碼是在這裏
#include <iostream>
#include "rapidxml/rapidxml.hpp"
#include <string.h>
using namespace std;
using namespace rapidxml;
string content = "<aaa> 1112<bbb>222</bbb>333 </aaa>";
int main(int argc, char**argv) {
xml_document<> m_doc;
try {
m_doc.parse<0>(&content[0]);
} catch (rapidxml::parse_error &error) {
cout <<"parse_error\n";
exit(1);
}
xml_node<>* node = m_doc.first_node();
cout << "name = " <<node->name()<<endl;
cout << "value = "<< node->value() <<endl;
cout << "value_size = "<< node->value_size()<<endl;
m_doc.clear();
return 0;
}
輸出是
name = aaa
value = 1111
value_size = 5
之前從未使用過該庫,但有些東西告訴我應該通過使用'xml_node :: next_sibling'在節點列表上循環來獲得所需的內容(請參閱教程http://rapidxml.sourceforge.net/manual.html# classrapidxml_1_1xml__node)。 – didierc 2014-10-31 06:49:29
@didierc使用next_sibling,將獲得NULL點回來,因爲沒有兄弟節點 – Denny 2014-11-03 09:41:43