1

Java文字列に対して実行する必要のある解析のタイプに関するドキュメントを見つけるのにまったく問題がありました。

したがって、行やコンマなどで解析するような単純なものではなく、もう少し複雑です。

私のプログラムはWebページのソースを取得し、ビュータグのコンテンツについてそれを解析する必要があります。

間にあるもののためにそれを解析するようなもの

<input name="sid" type="hidden" value="

" />

したがって、Webページにこの文字列が含まれている場合:

<input name="sid" type="hidden" value="stringvaluehere" />

出力します

stringvaluehere

誰か助けてもらえますか?私はこのようなものについての種類のドキュメントをまったく見つけませんでした、そして他の情報源で尋ねることは助けになりませんでした。

ありがとう!

4

4 に答える 4

5

HTMLを解析する場合は、文字列操作ではなくHTMLパーサーを使用することをお勧めします。ドキュメントを文字列として解析することは、予期しない奇妙な入力に遭遇したときに問題を要求するだけです。

この質問には、JavaHTMLパーサーの可能性についていくつかの議論があります。JavaHTML構文解析

于 2012-12-12T00:57:59.917 に答える
5

これには、 JSoupなどのライブラリを使用できます。多くの場合、DOMを手動で解析するよりもはるかに簡単です。

Document doc = Jsoup.connect("http://www.example.com").get();
Elements inputs = doc.select("input#sid");
for(Element input : inputs) {
    System.out.println(input.attr("value"));
}

使いやすく、重要なのは読みやすいことです。

于 2012-12-12T01:00:44.217 に答える
1

これは少し手間がかかり、おそらくこれをより良くする本当にクールで奇抜な正規表現がありますが...

String value = "<input name=\"sid\" type=\"hidden\" value=\"stringvaluehere\" />";
value = value.substring(value.indexOf("value=\"") + "value=\"".length());
value = value.substring(0, value.indexOf("\""));
System.out.println(value);

プリントstringvaluehere

アップデート

別のアプローチでは、HTMLテキストをXMLとして扱い、XMLパーサーを使用して要素の属性を検索します。複雑に聞こえますが、特に複数のWebページを解析する傾向がある場合は、FARの方が簡単な解決策です。

役立つ可能性のある2つのソリューションは、jsoupCobraです。

于 2012-12-12T00:58:17.093 に答える
1

ページが整形式のXMLである場合は、この目的でXPATHクエリ言語を使用できます。これは、低レベルの正規表現マッチングよりもはるかにクリーンなソリューションです。または、HTMLを解析するための既存のライブラリ。

于 2012-12-12T00:59:58.537 に答える