2016-10-19 7 views
2

xmlファイル内の他の要素で切り取られたノード内のテキストから文字列の配列を取得する必要があります。私はlibxml2ライブラリを使ってC言語で作業しています。XML:要素から切り取ったテキストから文字列の配列を取得

Exemple:
<option>some text <middletag />other text</option>

私はxmlNodeGetContent(xmlnode);と試みたが、私は唯一の"some text other text"のような文字列を取得します。

質問:この例では{"some text ", "other text"}になる文字列の配列を取得できますか?

答えて

4

私は解決策を見つけました。私はそれを見つけるのに時間がかかりすぎたので、私は恥じると言わなければなりません。

それは私が再びこのexempleを取る、簡単です:これにより

<option>some text <middletag />other text</option> 

あなたは<option>ノード上xmlnode *を持つことができます。リストxmlnode->childrenにループがある部分some text <middletag />other textが見つかります。タイプXML_TEXT_NODEのノードを探し、内容を取得するだけです。

コード:

xmlNode *node = option_node->children; 
for (; node; node = node->next){ 
    if (node->type == XML_TEXT_NODE) { 
     printf("%s\n", node->content); 
    } 
} 

結果:

some text 
other text 

は今、malloc関数/ reallocをして、我々は、アレイに保存することができます。

関連する問題