如何在JavaScript中创建XML名称空间节点?
我需要使用JavaScript创建一些XML。更困难的事情之一是,我需要用XML限定名填充节点的文本内容。也就是说,本地名称和前缀,例如myns:myelement 困难在于XML文档不包含前缀应绑定到的名称空间的任何其他元素或属性。因此,我需要在封闭元素中添加一个名称空间节点(xmlns),以定义前缀。例如:-如何在JavaScript中创建XML名称空间节点?,javascript,xml,Javascript,Xml,我需要使用JavaScript创建一些XML。更困难的事情之一是,我需要用XML限定名填充节点的文本内容。也就是说,本地名称和前缀,例如myns:myelement 困难在于XML文档不包含前缀应绑定到的名称空间的任何其他元素或属性。因此,我需要在封闭元素中添加一个名称空间节点(xmlns),以定义前缀。例如:- <myElement xmlns:myprefix="http://something">myprefix:foo</myElement> 我正在用所需的名称
<myElement xmlns:myprefix="http://something">myprefix:foo</myElement>
我正在用所需的名称空间和任意前缀创建一个不需要的属性。这会导致生成的文档有一个xmlns命名空间节点来定义命名空间的前缀
在最新的FireFox和Chrome上,而不是IE上,可以执行inputElement.setAttribute(“xmlns:+前缀,inputType.namespaceUri”)代码>。但我想要一个浏览器中立的解决方案
但我不想创建那个虚拟属性。当然,必须能够显式地创建名称空间节点。我错过了什么?嗨,你也许可以看看这个
// Hacky way to get a namespace prefix definition. TODO: can we do something nicer?
var prefix = "ixe";
requestElement.setAttributeNS(inputTypes[0].namespaceURL, prefix + ":" + "def", "");
inputElement.textContent = prefix + ":" + inputTypes[0].localName;