我正在使用Jsoup解析包含以<开头的子字符串的字符串,后跟一个单词以获取文本,但不能正确获取文本
String input ="<p>testing with less than <string</p>";
String s = Jsoup.parse(input).text();
提取属性文本后,将显示结果“小于”进行测试,而不是进行小于
答案 0 :(得分:0)
String input = "<p>testing with less than <string</p>";
System.out.println(input);
输出:
<p>testing with less than <string</p>
如果我们打印输入,我们将得到如图所示的整个字符串。
String s1 = Jsoup.parse(input).text();
System.out.println(s1);// when we use method text()
输出:
testing with less than
如果使用jsoup text()方法,则将获得不带HTML标签的纯文本。
但是,由于字符“ <”,我们仍未获得完整的输入String。
原因在以下示例中是合理的。
String s2 = Jsoup.parse(input).html();
System.out.println(s2);// when we use method html()
输出:
<html>
<head></head>
<body>
<p>testing with less than
<string></string> //the end tag is auto generated by the method
</p>
</body>
</html>
如果我们使用jsoup html()方法,则会获得完整的格式化HTML代码。
在这里我们可以清楚地看到,另一个HTML标记之间的字符“ <”之后写的单词会自动转换为HTML标记。 (如果我们只写一个开始标签,则结束标签会自动创建,无论它是否有效)
这就是我们没有如第一个示例所示获得全部输入的原因