好的,Java有很多HTML / XML解析器。我想要做的不仅仅是知道如何解析它。我想过滤内容并以合适的形式使用。
更准确地说,我只想保留文字和图像。但是,我想保留一些文本格式,例如:斜体,粗体,对齐等。
这一切都是因为我正在尝试实现一个将html转换为我自己为自己创建的特定格式的转换器。
有什么想法吗?当然,之前必须做过很多次。
答案 0 :(得分:5)
如果您打算根据安全白名单清除用户提交的内容以阻止XSS,那么我建议您使用Jsoup。 It provides a builtin white-list。然后就这么简单:
String safeHtml = Jsoup.clean(unsafeHtml, Whitelist.basicWithImages());
您可以按照javadoc。
中的说明自定义Whitelist
答案 1 :(得分:2)
JTidy + XSLT?
答案 2 :(得分:1)
看看HTML Parser,它可能很方便。
答案 3 :(得分:0)
O.K。我认为发现了:在解析Element
时,我可以构建javax.swing.text.html.InlineView
,即InlineElement ie = new InlineView(element)
,然后将属性设为ie.getAttributes)
。
右。如果您可以提供更多帮助,即有一些第一手经验可以分享,请做!
答案 4 :(得分:0)
你可以在包org.w3c.dom和javax.xml下使用xml dom解析器,你可以轻松地解析文档并获取节点内容
Document doc = DocumentBuilder.parse(file);
然后使用
获取元素NodeList nl = doc.getElementsByTagName("p"); // for paragraph tags
然后从nodelist获取内容,它会在段落标记中提供您的全部内容,就像您可以申请任何标记一样