我使用XMLSerializer()输出内存中的XML文档,但它似乎正在授权'使用XHTML标准实体的元素,例如& nbsp; 。 我想生成一个没有XHTML的XML文档。
我的目标DTD没有定义这些实体,因此如果用户碰巧输入了具有相应XHTML实体的字符,则序列化文档格式不正确(引用未定义的实体,如& nsbp;)
也许我错误地构建了DOM树?或者是否有另一种方法可以避免XMLSerializer()的行为就像它是XHTMLSerializer()?
答案 0 :(得分:0)
worksforme:
new XMLSerializer().serializeToString(document.createRange()
.createContextualFragment('<div foo="bar"bar"> ü</div>'))
结果:
"<div xmlns="http://www.w3.org/1999/xhtml" foo="bar"bar"> ü</div>"
仅标准XML实体和utf-8。