尝试找出一种方法从 html 文件中删除特定信息(名称、描述、id 等),留下不需要的信息并将其存储在 xml 文件中。
我想尝试使用 xslt,因为它可以将 xml 转换为 html...但反过来似乎不起作用。
老实说,我不知道应该尝试使用什么其他语言来完成此任务。我知道基本的 java 和 javascript,但不确定它是否可以做到这一点。我在开始这个过程时有点迷失了。
我愿意接受任何建议/帮助。也愿意学习一门新语言,因为我这样做只是为了好玩。
最佳答案
有许多 Java 库用于处理格式不正确的 HTML 输入(根据 XML)。这些库还具有用于查询或操作文档的内置方法,但重要的是要认识到,一旦解析了文档,通常很容易将其视为一开始的 XML地点(使用标准 Java XML 接口(interface))。换句话说,你只需要这些库来解析格式错误的输入;他们提供的其他实用程序大多是多余的。
下面是一个示例,显示使用 HTMLCleaner 解析 HTML然后将该对象转换为标准 org.w3c.dom.Document
:
TagNode tagNode = new HtmlCleaner().clean("<html><div><p>test");
DomSerializer ser = new DomSerializer(new CleanerProperties());
org.w3c.dom.Document doc = ser.createDOM(tagNode);
在 Jsoup ,只需解析输入并将其序列化为字符串:
String text = Jsoup.parse("<html><div><p>test").outerHtml();
并使用此处描述的方法之一将该字符串转换为 W3C 文档:
您现在可以使用标准 JAXP 接口(interface)来转换此文档:
TransformerFactory tFact = TransformerFactory.newInstance();
Transformer transformer = tFact.newTransformer();
Source source = new DOMSource(doc);
Result result = new StreamResult(System.out);
transformer.transform(source, result);
注意:向 tFact.newTransformer()
提供一些 XSLT 源代码,以执行比身份转换更有用的操作。
关于java - 在 xml 中存储 html 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632473/