当前位置: 首页 > 面试题库 >

Java-将命名的html实体转换为带编号的xml实体

王曜文
2023-03-14
问题内容

我正在将包含html命名实体的html块转换为使用编号的xml实体的xml兼容块,同时将所有html标记元素保留在原位。

这是通过测试说明的基本思想:

@Test
public void testEvalHtmlEntitiesToXmlEntities() {
    String input = "<a href=\"test.html\">link&nbsp;</a>";
    String expected = "<a href=\"test.html\">link&#160;</a>";
    String actual = SomeUtil.eval(input);
    Assert.assertEquals(expected, actual);
}

有人知道提供此功能的类吗?我可以编写一个正则表达式来遍历非元素匹配并执行以下操作:

xlmString += StringEscapeUtils.escapeXml(StringEscapeUtils.unescapeHtml(htmlString));

但希望有一种更简单的方法或已经提供此功能的Class。


问题答案:

您尝试过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");
}

虽然我认为它会修复某些情况下的HTML代码。



 类似资料:
  • 问题内容: 我有一些XML文本希望在HTML页面中呈现。这段文字包含一个&符号,我想以其实体表示形式呈现。 如何在源XML中转义此“&”号?我试过了,但这被解码为实际的&字符(),在HTML中是无效的。 因此,我想以一种在使用XML输出的网页中进行呈现的方式对其进行转义。 问题答案: 当您的XML包含时,这将导致文本。 当您在HTML中使用该代码时,该代码将显示为。

  • 问题内容: 我正在做一些抓取,并且站点经常使用实体来表示非字符。Python是否有一个实用程序可以接受带有实体的字符串并返回类型? 例如: 我回来了: 代表带有音调标记的。以二进制形式表示为16位01ce。我想将html实体转换为值 问题答案: 标准库自己的具有未记录的函数,它完全按照你的想法执行操作:

  • 我定义了以下实体: 尽管有表注释,我还是收到。如何防止实体类(如EmailTemplate)转换为email_template表名?

  • 问题内容: 给定一个Unicode符号或其XML / HTML实体,一个人如何生成其Unicode数字?例如,如果为您提供了字符串,并且可以生成其HTML代码(),那么如何生成其Unicode数字()? 我目前正在通过使用API并用于转换来生成HTML实体。但是unicode号本身并没有转换。 问题答案: 更新: Xcode 9•Swift 4 Xcode 8•Swift 3

  • 问题 你需要使用命名实体来替代 HTML 标签: <br/> => &lt;br/&gt; 解决方案 htmlEncode = (str) -> str.replace /[&<>"']/g, ($0) -> "&" + {"&":"amp", "<":"lt", ">":"gt", '"':"quot", "'":"#39"}[$0] + ";" htmlEncode('<a hr

  • 问题内容: 我有一些需要用XML迷惑的HTML文件。我们正在使用这些HTML为应用程序提供内容,但是现在我们必须以XML形式提供这些内容。 HTML文件包含,表格,div,图像,p,b或强标签等。 我用谷歌搜索并找到了一些应用程序,但是我还无法实现。 您能否建议一种将这些文件内容转换为XML的方法? 问题答案: 我成功使用了命令行实用程序。在Linux上,我使用迅速安装了它。然后命令: 给了一个x