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