htmlcleaner

String xpath = "//div";
Object[] myNodes = node.evaluateXPath(xpath);
for (Object obj : myNodes) {
TagNode node = (TagNode) obj;
// System.out.println(node.getAttributes());
title = node.getText().toString().trim();
}

转载于:https://www.cnblogs.com/agileblog/p/3610569.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用docx4j的XHTMLImporterImpl将HTML转换为DOCX时,如果HTML中的样式不是基于内联样式的,则可能不会被转换。docx4j只能识别内联样式,所以如果HTML中的样式是基于外部CSS文件或嵌入式样式表,则可能会丢失样式。 为了解决这个问题,你可以在将HTML转换为DOCX之前,对HTML进行一些处理,将外部CSS文件或嵌入式样式表转换为内联样式。这可以通过使用像jsoup这样的HTML解析器来完成。 以下是一个Java代码示例,可以将HTML转换为内联样式并使用XHTMLImporterImpl将其转换为DOCX: ```java // Load the HTML document Document doc = Jsoup.parse(html); // Convert external CSS files to inline styles doc = HtmlCleaner.clean(doc); // Convert HTML to XHTML String xhtml = Jsoup.clean(doc.outerHtml(), Whitelist.basicWithImages()); // Convert XHTML to DOCX WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(); XHTMLImporterImpl xhtmlImporter = new XHTMLImporterImpl(wordMLPackage); wordMLPackage.getMainDocumentPart().getContent().addAll(xhtmlImporter.convert(xhtml, null)); wordMLPackage.save(new File("example.docx")); ``` 在上面的代码中,我们首先使用HtmlCleaner库将外部CSS文件转换为内联样式。然后,我们使用Jsoup库将HTML转换为XHTML格式。最后,我们使用XHTMLImporterImpl将XHTML转换为DOCX,并将其保存到文件中。 请注意,这种方法只能处理基本的HTML和CSS。如果你的HTML和CSS非常复杂,可能需要使用更高级的工具或手动处理它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值