JSOUP选择“<br/>”

时间:2014-08-24 12:36:56

标签: java html-parsing jsoup

大家好我试图选择标签&#34;&lt; b r /&gt;&#34;在HTML文件中,它不在这里是该网站的来源:

</div><p><a href="http://www.pinoyfitness.com/wp-content/uploads/2014/03/sofitel-manila-half-marathon-2014-poster.jpg"><img src="http://www.pinoyfitness.com/wp-content/uploads/2014/03/sofitel-manila-half-marathon-2014-poster-540x783.jpg" alt="sofitel-manila-half-marathon-2014-poster" width="540" height="783" class="aligncenter size-medium wp-image-32747" /></a></p>
<p>Introducing the Manila Half Marathon happening on August 17, 2014 at the SM Mall of Asia Grounds. This race is for the benefit of the children of <a href="http://www.virlanie.org/" rel="nofollow" target="_blank">Virlanie</a></p>
 <p><font size="3"><strong>Sofitel Manila Half-Marathon 2014</strong></font><br />
August 17, 2014 @ 3AM<br />
SM Mall of Asia<br />
5K/10K/21K<br />
Organizer: RunRio</p>
<p><strong>Registration Fees:</strong><br />
21K &#8211; P950<br />
10K &#8211; P850<br />
5K &#8211; P750</p>

这是我到目前为止的工作:

doc = Jsoup.connect("http://www.pinoyfitness.com/2014/03/manila-half-marathon-august-17-2014/").timeout(0).get();
            Element bod = doc.body();
            Elements info = bod.select("br");
            String textString = info.text();

            System.out.println(textString);

我试图用&#34;检索html代码。 &LT; b r /&gt;&#34;这样我就可以轻松地将它们分开并格式化。

但是当我选择元素&#34; P&#34;它打印的所有文本都不包括&#34;&lt; b r /&gt;&#34;像这样#34;介绍马尼拉半程马拉松赛于2014年8月17日在SM亚洲商城举行。 2014年8月17日@ 3AM SM亚洲商城5K / 10K / 21K组织者&#34;

为Virlanie Sofitel马尼拉半程马拉松赛2014

我是JSOUP的新手,所以如果遇到newbee错误或类似的事情,请放轻松。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您想在已解析的内容中保留<br/>标记,那么对您的问题采用一种简单的解决方案就是使用文本占位符替换原始HTML代码中的所有<br/>标记(一个方便的正则表达式从here)开始:

html.replaceAll("(?i)<br[^>]*>", "br2n")

如果这是你一直在努力实现的目标,那么你可以textString.split("br2n")