如何防止Firefox XMLSerializer大写节点
时间:2020-03-06 14:58:39 来源:igfitidea点击:
我正在客户端用JavaScript创建XML文档,然后将其转换回字符串以发送到服务器。 Mozilla有一个方便的方法来实现此目的:我正在使用XMLSerializer()。serializeToString()。但是,此方法似乎存在一个错误:它以大写形式返回所有节点名称,而以小写形式返回所有属性名称(无论我用来创建节点的大小写如何)。
有什么办法可以规避这种行为,并以我的原始大写形式取回XML字符串?更一般而言,有什么方法可以在Mozilla中创建XML文档并将其返回为字符串,而不会覆盖大小写吗?
解决方案
看起来我们正在使用HTML文档。尝试改为对XML文档进行操作。
var oDocument = new DOMParser()。parseFromString(" <root />"," text / xml"); oDocument.documentElement.appendChild(oDocument.createElementNS(" http:// myns"," x:test")); alert(new XMLSerializer()。serializeToString(oDocument));
或者
var oDocument = document.implementation.createDocument("","",null); oDocument.appendChild(oDocument.createElementNS(" http:// myns"," x:test"))); alert(new XMLSerializer()。serializeToString(oDocument));
问候