Javascript 在保持区分大小写的同时创建XML DOM元素
我正在尝试创建以下元素nodetree:Javascript 在保持区分大小写的同时创建XML DOM元素,javascript,xml,parsing,Javascript,Xml,Parsing,我正在尝试创建以下元素nodetree: <v:custProps> <v:cp v:nameU="Cost"> </v:custProps> 但是,document.createElement(“v:custProps”)生成,而不是。是否有任何方法可以逃避此解析 编辑1: 我目前正在读一篇关于nodename区分大小写的文章。不过,这与我的问题有点无关,因为我的代码与是未解析的,我不想使用.innerHTML不建议使用document.crea
<v:custProps>
<v:cp v:nameU="Cost">
</v:custProps>
但是,document.createElement(“v:custProps”)
生成
,而不是
。是否有任何方法可以逃避此解析
编辑1:
我目前正在读一篇关于nodename区分大小写的文章。不过,这与我的问题有点无关,因为我的代码与
是未解析的,我不想使用.innerHTML
不建议使用document.createElement
作为限定名。查看是否可以更好地满足您的需要。您需要使用createElements()
/setAttributeNS()
并提供名称空间,而不仅仅是别名/前缀。该示例使用urn:v
作为名称空间
var xmlns_v = "urn:v";
var newCustprop = document.createElementNS(xmlns_v, "v:custProps");
var newcp = document.createElementNS(xmlns_v, "v:cp");
newcp.setAttributeNS(xmlns_v, "v:nameU", "Cost");
newCustprop.appendChild(newcp);
var xml = (new XMLSerializer).serializeToString(newCustprop);
xml:
.createElementNS
似乎缺少XML元素的名称空间。。我已经对它进行了测试,生成的Javascript返回一个不区分大小写的结果。
var xmlns_v = "urn:v";
var newCustprop = document.createElementNS(xmlns_v, "v:custProps");
var newcp = document.createElementNS(xmlns_v, "v:cp");
newcp.setAttributeNS(xmlns_v, "v:nameU", "Cost");
newCustprop.appendChild(newcp);
var xml = (new XMLSerializer).serializeToString(newCustprop);
<v:custProps xmlns:v="urn:v"><v:cp v:nameU="Cost"/></v:custProps>