2

htmlparser ライブラリを使用して HTML 文字列を解析しようとしています。html は次のようになります。

<body>
        <div class="Level1">
            <div class="row">
                <div class="txt">
                    Date of analysis:
                </div><div class="content">
                    02/03/11
                </div>
            </div>
        </div><div class="Level1">
            <div class="row">
                <div class="txt">
                    Site:
                </div><div class="content">
                    13.0E
                </div>
            </div>
        </div><div class="Level1">
            <div class="row">
                <div class="txt">
                    Network type:
                </div><div class="content">
                    DVB-S
                </div>
            </div>
        </div>
</body>

特定の「txt」の「コンテンツ」情報を抽出する必要があります。class= "level1" で div を返すフィルターを作成しましたが、div のコンテンツでフィルターを作成する方法がわかりません。つまり、txt の値が Site: then read content like 13.0 の場合E.

  NodeList nl = parser.extractAllNodesThatMatch(new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("class", "Level1")));
       

誰かがこの問題で私を助けることができますか?? div内のdivを読む方法は? ありがとう!!

4

1 に答える 1

0
NodeList nl = parser.extractAllNodesThatMatch(new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("class", "Level1")));

次のようにするとよいでしょう:

NodeList nl = parser.parse(null); // you can also filter here

NodeList divs = nl.extractAllNodesThatMatch(
  new AndFilter(new TagNameFilter("DIV"), 
    new HasAttributeFilter("class", "txt")));

if( divs.size() > 0 ) {
  Tag div = divs.elementAt(0);
  String text = div.getText(); // this is the text of the div
}
于 2012-05-09T11:05:50.507 に答える