php XPath对XML文件查找及修改实现代码

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

<?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");
}
?>

相关文章

php PDO实现的事务回滚示例

本文实例讲述了php PDO实现的事务回滚。分享给大家供大家参考,具体如下: $servername="localhost"; $username="root"; $password...

PHP 小心urldecode引发的SQL注入漏洞

Ihipop 学校的 Discuz X1.5 论坛被黑,在那里吵了一个下午。Google 一下“Discuz! X1-1.5 notify_credit.php Blind SQL in...

PHP设计模式之工厂方法设计模式实例分析

本文实例讲述了PHP设计模式之工厂方法设计模式。分享给大家供大家参考,具体如下: 一、什么是工厂方法模式 作为一种创建型设计模式,工厂方法模式就是要创建“某种东西”。对于工厂方法,要创建...

PHP使用strtotime获取上个月、下个月、本月的日期

今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一...

PHP var_dump遍历对象属性的函数与应用代码

本文章下面我们要为你提供二种关于遍历对象属性方法,并且举例说明遍历对象属性在php中的应用。可以看出私有变量与静态变量时获取不到的,只有定义为公共变量才可以读出来。 遍历对象属性第一种方...