以下是我的示例输入HTML代码:
<html>
<head>
<object></object>
</head>
<body>
</body>
</html>
下面是使用Jsoup解析时的输出:
<html>
<head>
</head>
<body>
<object></object>
</body>
</html>
问题:为什么Jsoup将<object>
标记从<head>
移到<body>
?
答案 0 :(得分:3)
这是正确的行为,因为<object>
必须出现在正文中。
HTML标记
[...]
提示和注释
注意:元素必须出现在元素中。和之间的文本是替代文本 不支持此标记的浏览器。
http://www.w3schools.com/tags/tag_object.asp
如果您想要头部内的对象,则可以改为使用XmlParser
:
final String html = "<html>\n"
+ "<head>\n"
+ "<object></object>\n"
+ "</head>\n"
+ "<body>\n"
+ "</body>\n"
+ "</html>";
Document doc = Jsoup.parse(html, "", Parser.xmlParser());
// |<-------------->|