如何在xml中正确添加带有子项的新子项

时间:2019-02-12 12:20:58

标签: php mysql xml api

API返回以下内容,我想添加另一个数据记录以进行测试:

<?xml version="1.0" encoding="UTF-8" ?>
<API>
    <code>0000</code>
    <time>1549959757</time>
    <data cnt="1">
        <record>
        <record>
            <approval_idx>224833</approval_idx>
            <reg_date>2019-02-12</reg_date>
            <user_id>test</user_id>
            <state1>10</state1>
            <state2>03</state2>
            <name>tester</name>
            <e_id>3743</e_id>
            <cname>test cname</cname>
            <cId>3089</cId>
            <loc>oh</loc>
        </record>
        </record>
    </data>
</API>

我尝试这样做

$utilApi = new libUtilApi($apiRequest);
$utilApi->request();
$resultAPI = $utilApi->response;
$resultAPI = simplexml_load_string($resultAPI);
$record = $resultAPI->addChild("record");
$record->addChild("approval_idx", "7546");

但是输出看起来像这样

<?xml version="1.0" encoding="UTF-8" ?>
<API>
    <code>0000</code>
    <time>1549959757</time>
    <data cnt="1">
        <record>
        <record>
            <approval_idx>224833</approval_idx>
            <reg_date>2019-02-12</reg_date>
            <user_id>test</user_id>
            <state1>10</state1>
            <state2>03</state2>
            <name>tester</name>
            <e_id>3743</e_id>
            <cname>test cname</cname>
            <cId>3089</cId>
            <branch>oh</branch>
        </record>
        </record>
        <record>
            <approval_idx>7546</approval_idx>
            <reg_date>2019-02-13</reg_date>
            <user_id>test3</user_id>
            <state1>75</state1>
            <state2>09</state2>
            <name>new test</name>
            <e_id>7546</e_id>
            <cname>Q1</cname>
            <cId>325</cId>
            <branch>oh</branch>
        </record>
    </data>
</API>

添加的孩子位置不正确,我尝试过

$record = $resultAPI->record[0]->addChild("record");

但是它会出现如下错误:

  

addChild()上调用成员函数null

-我刚刚更新了代码,是的api返回了正确的格式和数据,只是我无法在正确的位置添加子项

0 个答案:

没有答案