0

c++を使用してrapidxmlでタグ名によってタグの値を取得する方法はありますか

<?xml version=\1.0\ encoding=\latin-1\?>
<book>example</book>
<book1>example1</book1>

簿価、つまり例と簿価を取得する必要があります....このget firstnodeとnextnodeを使用できdoc.first_node()->value() ますが、次のような値を取得する方法があります。get by name

答え

xml_node<> *node = doc.first_node("book");
      cout <<< node->value() << "\n";
4

1 に答える 1

2

照合するノード名を使用してfirst_nodeを呼び出すことができるはずです。ドキュメントから:

関数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

名前のサイズ(文字数)、または0(文字列からサイズを自動的に計算する場合)

大文字と小文字を区別

名前の比較では大文字と小文字を区別する必要があります。大文字と小文字を区別しない比較は、ASCII文字に対してのみ適切に機能します

戻り値

見つかった子へのポインタ。見つからない場合は0。

ただし、RapidXMLは、より豊富なクエリのXPathをサポートしていません。

于 2010-10-07T13:25:25.477 に答える