・htmlページの多重化されたタグを取り出したいのですが、うまくできません。
<h2 class="single"> <div class="inner">札幌エリア</div> </h2> ・この札幌エリアという部分を取り出して表示したいです。 ・現在下記のプログラムで表示していますが、if(a=="札幌エリア")とせずに、タグだけを参照して表示する方法はないでしょうか。 else if(xmlStrcasecmp(node->name, (const xmlChar*)"div")==0){ for(xmlAttrPtr attr = node->properties; attr != NULL; attr = attr->next){ //class if(xmlStrcasecmp(attr->name, (const xmlChar*)"class") == 0){ count = (char *)node->children->content; string a = count; if(a=="札幌エリア"){ printf("%s",count); printf("です\n"); } } } }えっと抜き出したいものがよくわからない。
h2.single->div.inner
に合致するdivタグのchildを取りたいということ?
知識不足でchildとはどれを指しているのかわかりません。
取り出したいのは”札幌エリア”というところです
childとは
<tag>child</tag>
の部分です。
http://pastebin.com/imYtap1f
この場合どれを取り出したいですか?
<div class="inner">札幌エリア</div>です!
つまり外側がどうであれ、class="inner"があれば列挙するということですか?
外側がどうであれこの札幌エリアという部分をとりだしたいんです。
class="inner"があれば列挙するということになりますかね
やってみます(うまくいくとは言っていない)。ただわたしlibxml2触ったこと無いんでboost.propaty_treeでの回答に多分なります。libxml2触れるってすごいなぁ(過去に挫折した人)
すいません、#include <libxml/HTMLparser.h> 2じゃなかったです笑
>2じゃなかったです笑
あやや・・・