4

我正在使用 XMLSerializer() 来输出内存中的 XML 文档,但是它似乎使用 XHTML 标准实体(如   )来“实体化”元素。. 我想生成一个没有 XHTML 实体的 XML 文档

我的目标 DTD 没有定义这些实体,因此如果用户碰巧输入了带有相应 XHTML 实体的字符,则序列化文档的格式不正确(引用了一个未定义的实体,如 &nsbp;)

也许我错误地构建了 DOM 树?或者是否有另一种方法可以避免 XMLSerializer() 表现得像 XHTMLSerializer()?

4

1 回答 1

0

Firefox 38 中的工作表:

new XMLSerializer().serializeToString(document.createRange()
    .createContextualFragment('<div foo="bar&quot;bar">&nbsp;&uuml;</div>'))

结果:

"<div xmlns="http://www.w3.org/1999/xhtml" foo="bar&quot;bar"> ü</div>"

只有标准 XML 实体和 utf-8。

于 2015-01-19T16:23:41.843 回答