使用JavaScript填充空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">

我目前正在尝试填充来自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"></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