1
當我使用jsoup解析一些html文件(如「google.com」)時,遇到了 ,它在檢索元素的文本時遇到了問題。在jsoup中檢索元素的文本
例如,在使用text
功能這div
元素,話 「程序」和「業務」連接到對方,我認爲 這是不對的:
<div id="fll" style="margin:19px auto;text-align:center">
<a href="/intl/en/ads/">Advertising Programs</a>
<a href="/services/">Business Solutions</a>
<a href="https://plus.google.com/" rel="publisher">+Google</a>
<a href="/intl/en/about.html">About Google</a>
</div>
你可以測試我的要求與此代碼:
URL url = new URL("http://www.google.com");
Document document = Jsoup.parse(url, 10000);
Element element = document.select("div[id=fll]").first();
System.out.println(element.text());
輸出將是:
Advertising ProgramsBusiness Solutions+GoogleAbout Google
我想知道可以做任何事情嗎?
順便說我跟蹤的代碼,結果發現,該問題將被 通過加入這一行校正:
textNode.text(textNode.text() + " ");
的Element
類nodes
包jsoup
的的線755和756之間源代碼。
另外這個問題存在於Elements
類的select
包和可能在其他text
功能!
我只是按照你HTML示例。 – 2012-02-17 19:25:41
您只考慮Element類,但Elements類如何?這個問題也引發了這個問題。在這種情況下,這樣的結果(連接在邏輯上獨立的詞)是非常錯誤的。儘管可以手動避免這種錯誤的結果。最後,關於Element類,你認爲在一般情況下(我們沒有關於超級元素的知識,或者換句話說關於父元素),那麼jsoup會爲這些情況提供另一個API會很好嗎?謝謝。 – faghani 2012-02-17 20:46:58