php XPath对XML文件查找及修改实现代码
复制代码 代码如下:
<?php
/*
<?xml version="1.0" encoding="utf-8"?>
<article>
<item>
<title name="t1">11</title>
<content>content1</content>
<pubdate>2009-10-11</pubdate>
</item>
<item>
<title name="t2">title2</title>
<content>content2</content>
<pubdate>2009-11-11</pubdate>
</item>
</article>
*/
if(!function_exists('l')) {
function l() {
echo '<br/>***********************************<br />';
}
}
if(file_exists('test10_12.xml')) {
$xml = simplexml_load_file('test10_12.xml');
//利用xpath方法查找节点位置
$query = $xml->xpath('//title[@name="t1"]/ancestor::item');
var_dump($query);
l();
//测试在title节点下新增子节点new
$query[0]->title->addChild('new','new');
//测试在title节点下新增属性fuck
$query[0]->title->addAttribute('fuck','fuck you');
//测试修改content节点值为hello,world
$query[0]->content = 'hello,world';
//不解释,你懂的
$query[0]->asXML("10.xml");
}
?>