Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在保持区分大小写的同时创建XML DOM元素_Javascript_Xml_Parsing - Fatal编程技术网

Javascript 在保持区分大小写的同时创建XML DOM元素

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

我正在尝试创建以下元素nodetree:

<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>