Dav*_*ple 7 html java xml parsing entities
我正在寻找将包含html命名实体的html块转换为符合xml的块,该块使用编号的xml实体,同时保留所有html标记元素.
这是通过测试说明的基本思想:
@Test
public void testEvalHtmlEntitiesToXmlEntities() {
String input = "<a href=\"test.html\">link </a>";
String expected = "<a href=\"test.html\">link </a>";
String actual = SomeUtil.eval(input);
Assert.assertEquals(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
是否有人知道提供此功能的类?我可以编写一个正则表达式来迭代非元素匹配并执行:
xlmString += StringEscapeUtils.escapeXml(StringEscapeUtils.unescapeHtml(htmlString));
Run Code Online (Sandbox Code Playgroud)
但希望有一种更简单的方法或已经提供此类的课程.
您尝试过JTidy吗?
private String cleanData(String data) throws UnsupportedEncodingException {
Tidy tidy = new Tidy();
tidy.setInputEncoding("UTF-8");
tidy.setOutputEncoding("UTF-8");
tidy.setPrintBodyOnly(true); // only print the content
tidy.setXmlOut(true); // to XML
tidy.setSmartIndent(true);
ByteArrayInputStream inputStream = new ByteArrayInputStream(data.getBytes("UTF-8"));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
tidy.parseDOM(inputStream, outputStream);
return outputStream.toString("UTF-8");
}
Run Code Online (Sandbox Code Playgroud)
虽然我认为它会修复你的一些 HTML 代码,以防有问题。
归档时间: |
|
查看次数: |
4845 次 |
最近记录: |