dongzice4895 2011-07-06 22:28
浏览 76
已采纳

为元素创建多个属性

I figured out how to create a DOM object for XML with the following code (part of it):

$xml_item = $xml->createElement('item');
$xml_location = $xml->createElement('location');

$xml_item->setAttribute('item-id', 'abcd');
$xml_item->appendChild($xml_location);
$xml_location->setAttribute('location-id', '1234');
$xml_location->appendChild($xml_quantity);
$xml_quantity = $xml->createElement('quantity', '0');

Gives:

<item item-id="abcd">       
    <location location-id="1234">
        <quantity>0</quantity>             
    </location>
</item>

I want to keep adding more item elements of different attributes to obtain something like this:

<item item-id="abcd">       
    <location location-id="1234">
        <quantity>99</quantity>             
    </location>
</item>
<item item-id="qwer">       
    <location location-id="1234">
        <quantity>55</quantity>             
    </location>
</item>

But I'm having a hard time figuring this out. How do I use the same variable $xml_item to create multiple entries of "item" element with different attribute as above (i.e. abcd and qwer)? It seems to just over write the first one when I do another $xml_item->setAttribute('item-id', 'qwer') after creating "abcd."

Am I supposed to create multiple copies of "$xml_item" with different variable names (e.g. $xml_item1, _item2, etc. but this seems unreasonably tedious) or can I somehow reuse the same variable ($xml_item) to create multiple entries? The idea is to create as many of those "item" element as I need with different attributes.

  • 写回答

3条回答 默认 最新

  • douba1214 2011-07-06 22:35
    关注

    From the php.net page for createElement,

    This node will not show up in the document unless it is inserted with (e.g.) DOMNode->appendChild().

    So just make sure to keep appending $xml_item to your DomDocument object between createElement() calls.
    ie) $xml->appendChild($xml_item);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况