0

HTML コンテンツからの文字列が必要です。ここでは、HTML 文字列の一部を示しています。

<div style="border: 1px solid #999999; margin: 0px 10px 5px 0px;">
<a href="http://www.youtube.com">
<img alt="" src="http://someImage.jpg">
</a>
</div>

これを SAX 解析からの文字列として取得しています。ここで、画像パスのみが必要です:「http://someImage.jpg」を文字列として。

誰か助けてください。その文字列を取得する方法は?

4

2 に答える 2

3

正規表現を使用する必要があると思います。ここにコードを投稿します。これをチェックしてください。

String subjectString = "<a href=\"http://www.youtube.com\"><img alt=\"\" src=\"http://someImage.jpg\"></a>";

イメージタグからHrefリンクを取得するコード

Pattern titleFinder = Pattern.compile("<a[^>]*?href\\s*=\\s*((\'|\")(.*?)(\'|\"))[^>]*?(?!/)>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) {
    Log.i("==== Link0",regexMatcher.group(1));
} 

画像タグから画像パスを取得するコード

Pattern titleFinder = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>" , Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) 
{
    Log.i("==== Image Src",regexMatcher.group(1));
}
于 2012-05-01T09:20:56.030 に答える
0

jsoupパーサーを試してください。

Document doc=Jsoup.connect("http://www.yahoo.com").get();
Elements elements=doc.select("img");

for(Element e:elements)
 {
  System.out.println(e.attr("src"));
 }

または、Jsoup.parse(html_text) を使用して Document のインスタンスを取得します。

 Document doc=Jsoup.parse(html_string);
 ...
于 2012-05-01T09:28:58.950 に答える