【发布时间】:2018-08-31 02:23:39
【问题描述】:
我正在使用 XML DOM 技术在 JavaScript 中构建下拉菜单。
创建<option> 节点后,我会附加应该为该选项显示的文本。我面临的问题是,当文本包含字符实体引用 (CER),例如 &#8322; 时,CER 的 & 字符被转义为 &amp;,因此选择菜单中显示的是 CER 而不是字符当菜单输出到页面显示时。
我尝试了以下两种方法: optionNode.appendChild(xmlDoc.createTextNode(label)); 和
optionNode.textContent = label;
两者都给出相同的结果。在将 XML 文档输出为文本后,我可以通过将 &amp; 全局替换为 & 来解决此问题:
var xml = (new XMLSerializer()).serializeToString(xmlDoc);
return xml.replace(/&/g, '&');
但我敢肯定,首先必须有一种方法可以避免逃跑。有吗?
【问题讨论】:
标签: xml escaping createtextnode