我使用JSoup来解析HTML。我有一个文本字符串:
&ap
解析后使用:
Jsoup.parseBodyFragment("&ap");
它被转换为有线字符:≈
该角色实际上来自网址:
http://mycompany.com?param=1&app=100
请注意,URL的&ap
部分始终用有线字符替换,因此URL变为:
http://mycompany.com?param=1≈p=100
我认为这可能与HTML编码有关。
有人能让我知道如何解决这个问题吗?
答案 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&app=100"></a>
<p>http://mycompany.com?param=1&app=100</p>
</body>
</html>
<a href="http://mycompany.com?param=1&app=100"></a>
&
被转换为&
。