【问题标题】:Outputting a DOM to HTML with &'s使用 &'s 将 DOM 输出到 HTML
【发布时间】:2011-02-17 18:38:49
【问题描述】:

我正在尝试输出一个包含   等元素的 DOM到一个 html 文件,但它会显示  在输出中,这显然是不可取的。我的代码如下

    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    transformer.setOutputProperty(OutputKeys.METHOD, "html");
    Result result = new StreamResult(output);
    transformer.transform(new DOMSource(document), result);

有没有办法让它只输出   (不,在输入中替换   不是一种选择)?

【问题讨论】:

  • 对 Transform 类了解不够,但也许它有一个禁用输出转义选项?
  • 您的输入是 XML 文档吗?如果是,它如何包含“ ”?应该是#160;代替?
  • 输入不是 XML,而是在网络上找到的 HTML,因此它(不幸的是)包含  

标签: java html xml dom


【解决方案1】:

使 HTML 成为有效的 XML,包括  文档应该有一个定义实体的 DOCTYPE。

添加类似的东西

<!DOCTYPE document  SYSTEM "document.dtd" [ 
<!ENTITY nbsp "&#160;"> 
]>

在文档的开头可能会这样做。但这可能需要对实际的源文档进行,或者在用于将其解析为 DOM 的流中预先添加到它。

如果您发布一些代码,显示您的行中引用文档的方式

 transformer.transform(new DOMSource(document), result);

被制作出来了,可以想象我可以更明确地提供帮助。

【讨论】:

    猜你喜欢
    • 2013-05-21
    • 1970-01-01
    • 2011-01-23
    • 2016-02-13
    • 2011-11-15
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多