用PHP dom 处理xml,增加或者修改节点

用PHP dom 处理xml,增加或者修改节点

今天有人在PHP的群里面问这样一个问题:

<?xml version="1.0" coding="utf-8"?>
<country>
<city>北京</city>
<city>香港</city>
<city>上海</city>
</country>

如果在香港前面加上一个<city>杭州</city>。今天请假在家,就花了几分钟,解决了这个问题。

 

 

<? php
$xml   =   <<< XML
<? xml version = " 1.0 "  encoding = " utf-8 " ?>
< country >
< city > 北京 </ city >
< city > 香港 </ city >
< city > 上海 </ city >
</ country >
XML;

$dom   =   new  DOMDocument( ' 1.0 ' ,   ' utf-8 ' );
$dom -> loadXML( $xml );
$city   =   $dom -> getElementsByTagName( ' city ' );
$element   =   $dom -> createElement( ' city ' ,   ' 杭州 ' );
$textNode   =   $dom -> createTextNode( " \n " );
foreach  ( $city   as   $node )
{
    
$value   =   $node -> nodeValue;
    
if  ( trim ( $value ==   ' 香港 ' )
    {
        
// insert before
         $node -> parentNode -> insertBefore( $element ,   $node );
        
$node -> parentNode -> insertBefore( $textNode ,   $node );
    }
}
echo   $dom -> saveXML();

 

posted @ 2011-02-28 21:18 暮夏 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值