如何让HtmlCleaner处理空内容标签时不生成自闭合的标签?
1. 现在有一HTML片段:
3. 运行上述代码后得到的结果是:
<div class='myclass'> I Love <u>OSChina.net</u> nothing. <u></u> </div>2. 使用 HtmlCleaner + XPath 获取到myclass标签内的内容:
HtmlCleaner cleaner = new HtmlCleaner(); TagNode tagNode = cleaner.clean("<div class='myclass'>I Love <u>OSChina.net</u>nothing.<u></u></div>"); Object[] nodeVals = tagNode.evaluateXPath("//div[@class='myclass']"); for (Object tag : nodeVals){ TagNode _tag = (TagNode)tag; String rs = ParserUtil.xml(_tag,false); System.out.println(rs); }
3. 运行上述代码后得到的结果是:
<div class="myclass"> I Love <u>OSChina.net</u> nothing. <u /> </div>
发现 <u></u> 变成了 <u /> 了,而 u 这个标签是不可以自闭合的,如果这段代码放到浏览器去解析,会发现 <u /> 后面跟着的 html 内容 css 样式将受到影响,全部文字多了下划线,这让人好生讨厌 !
我想要的结果是 <u></u> => <u></u> 或者 空
现在要解决上述问题该怎么办呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将这个属性useEmptyElementTags设置为false
参考 htmlcleaner.sourceforge.net/parameters.php