JSoup转换后文本转换不正确

时间:2013-09-04 11:11:53

标签: java html jsoup

我使用JSoup来解析HTML。我有一个文本字符串:

   &ap

解析后使用:

Jsoup.parseBodyFragment("&ap");

它被转换为有线字符:

该角色实际上来自网址:

 http://mycompany.com?param=1&app=100

请注意,URL的&ap部分始终用有线字符替换,因此URL变为:

http://mycompany.com?param=1≈p=100

我认为这可能与HTML编码有关。

有人能让我知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您能否提供更多信息如何重现? 我用这段代码试了一下:

public static void main(String[] args) throws MalformedURLException, IOException {
    Document doc = Jsoup.parseBodyFragment("<a href=\"http://mycompany.com?param=1&app=100\" />\n<p>http://mycompany.com?param=1&app=100</p>");

    System.out.println(doc.toString());
    System.out.println();
    System.out.println(doc.getElementsByAttribute("href"));
}

打印:

<html>
 <head></head>
 <body>
  <a href="http://mycompany.com?param=1&amp;app=100"></a> 
  <p>http://mycompany.com?param=1&amp;app=100</p>
 </body>
</html>

<a href="http://mycompany.com?param=1&amp;app=100"></a>

&被转换为&amp