如何防止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));

问候