关于 HTMLParser 自动修改节点问题
String content="<html><head><script type="text/javascript">alert(1);</head><body></body></html>"; Parser myParser = new Parser(); myParser.setInputHTML(content); NodeFilter textFilter = new NodeClassFilter(DoctypeTag.class); NodeFilter headFilter = new NodeClassFilter(HeadTag.class); NodeList list = myParser.parse(headFilter); for (int i = 0; i < list.size(); i++) { Node node = list.elementAt(i); System.out.println(node.toHtml()); }
输入结果是<head><script type="text/javascript">alert(1);</script></head> 多了一个</script>
是不是HTMLParser有自动修复的节点的功能。现在需求不要这个自动修复的功能。
请问怎么处理,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好的,谢谢!
试验了一下,你这样filter的确不行,可以遍历所有的节点,然后自己拼接,会很复杂,或者使用其他的解析库看看吧。