1

すべての href リンクを解析するために Jericho Java クライアント ライブラリを使用しています。私がやりたいことは、特定の ID を含むソースからのすべてのリンクを除外またはスキップすることです。私はいくつかのことを試しましたが、私の解決策はきれいではありませんが、基本的には次のようなものをチェックすることでこれを達成できます:

for(Element element : elements) {
  if (element.getAllStartTags().toString().contains("skip_me")) {
    // do something
  }
}

しかし、私はよりクリーンなソリューションを好みます。これがソースであると仮定しましょう:

<td>
 <a href="http://www.yahoo.com" id="skip_me" />
</td>
<td>
 <a href="http://www.google.com" />
</td>

ちょっとしたスニペットですが、最終的に返してほしいのは「www.google.com」だけです。これについて何か助けていただければ幸いです。ありがとう。

4

2 に答える 2

1

別の解決策は次のとおりです。

for( Element element : elements )
{
    if( element.getStartTag().getName() == HTMLElementName.A ) // Select only 'a'-tags
    {
        final String id = element.getAttributeValue("id"); // Get Attribute 'id'

        if( id == null || !id.equals("skip_me") ) // Process element if it has a.) no id (null) or b.) the id is not 'skip_me'
        {
            System.out.println(element); // Process Element
        }
    }
}

出力:
(HTML を使用)

<a href="http://www.google.com" />
于 2013-02-03T17:23:32.100 に答える