Java中的HTML处理:将HTML转换为其他格式

时间:2010-10-02 11:47:26

标签: java html-parsing

好的,Java有很多HTML / XML解析器。我想要做的不仅仅是知道如何解析它。我想过滤内容并以合适的形式使用。

更准确地说,我只想保留文字和图像。但是,我想保留一些文本格式,例如:斜体,粗体,对齐等。

这一切都是因为我正在尝试实现一个将html转换为我自己为自己创建的特定格式的转换器。

有什么想法吗?当然,之前必须做过很多次。

5 个答案:

答案 0 :(得分:5)

如果您打算根据安全白名单清除用户提交的内容以阻止XSS,那么我建议您使用JsoupIt 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获取内容,它会在段落标记中提供您的全部内容,就像您可以申请任何标记一样