使用JavaScript填充空XML标记
我目前正在尝试填充来自API的XML响应的空标记使用JavaScript填充空XML标记,javascript,xml,Javascript,Xml,我目前正在尝试填充来自API的XML响应的空标记 <?xml version="1.0" encoding="UTF-8"?> <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <order> <id><![CDATA[1]]></id> <shipping_number notFilterable="true">
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<order>
<id><![CDATA[1]]></id>
<shipping_number notFilterable="true"></shipping_number>
<associations>
<order_rows nodeType="order_row" virtualEntity="true">
<order_row>
<!-- More tags -->
</order_row>
</order_rows>
</associations>
</order>
</prestashop>
<!-- I have much more items but they don't matter for what I'm trying to do -->
控制台告诉我,我无法访问undefined或null的值,这对我来说很有意义,但我找不到如何填写发货编号
我现在觉得自己很笨,但这是我第一次用JavaScript处理XML文件
我找到的唯一答案是删除标记并用它的值重新创建它,但我不想相信你不能编辑一个空标记
有人有解决办法吗
编辑:感谢@kjhughes
我设法做到了我想要的:
var cdata = responseBody.createCDATASection('someValue');
responseBody.getElementsByTagName('shipping_number')[0].appendChild(cdata);
首先,XML中有一个输入错误 改变
<shipping_number notFilterable="true"></shipping_number
将是空的。在继续之前,必须添加子节点。将此与您的另一个工作案例进行对比,id
已经有了一个子节点,即CDATA节点
要添加子节点,请使用。oops,这只是我无法复制/粘贴我的主体,这不是问题^^非常感谢,我找到了我需要的!!将编辑帖子,使其更可见!
<shipping_number notFilterable="true"></shipping_number
<shipping_number notFilterable="true"></shipping_number>
^
responseBody.getElementsByTagName("shipping_number")[0].childNodes