dpglo66848 2011-03-22 13:13
浏览 59
已采纳

有条件地在XML文档中插入文本节点

The structure of my XML document is the following:

<tr>
<seg>
<source>source_text</source>
<dest>dest_text</dest>
</seg>

...
<seg>
<source>source_text</source>
</seg>

</tr>

Note that the dest element is not always present. I want to scan the file with PHP and insert a dest element (with some text) each time it's not present in a seg node.

Any help would be very appreciated. Patrick

  • 写回答

1条回答 默认 最新

  • douhu2370 2011-03-22 14:10
    关注

    Try this, I tested this snippet, works for me:

    $xml = '<tr>
    <seg>
    <source>source_text</source>
    <dest>dest_text</dest>
    </seg>
    <seg>
    <source>source_text</source>
    </seg>
    </tr>
    ';
    $xmlObj = new SimpleXMLElement($xml);
    foreach($xmlObj as $seg) {
        if(!$seg->dest) {
            $seg->dest = 'dest_text_inserted';
        }
    }
    echo $xmlObj->asXML();
    

    It outputs what you need:

    <?xml version="1.0"?>
    <tr>
    <seg>
    <source>source_text</source>
    <dest>dest_text</dest>
    </seg>
    <seg>
    <source>source_text</source>
    <dest>dest_text_inserted</dest></seg>
    </tr>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在sql server里完成筛选
  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了