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开发工具之vs2005图解

php开发工具之vs2005图解

为什么会想到用vs2005呢? 一是有感于vs开发.net应用程序,或者asp.net时候的强大。。。。。一直很怀念 二是 vs是个很全面的编辑器,甚至图片都可以直接打开编辑,对于类似我...

PHP设计模式之模板模式定义与用法详解

PHP设计模式之模板模式定义与用法详解

本文实例讲述了PHP设计模式之模板模式定义与用法。分享给大家供大家参考,具体如下: 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩...

php判断当前用户已在别处登录的方法

本文实例讲述了php判断当前用户已在别处登录的方法。分享给大家供大家参考。具体分析如下: 主要思路如下: 1.登录时,将用户的SessionID记录下来 2.验证登录时,将记录的该用户S...

php快速url重写 更新版[需php 5.30以上]

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用...

PHP mb_convert_encoding 获取字符串编码类型实现代码

后来又在手册上找到了is_utf8函数,这样,再结合iconv函数,我的问题就解决了。下面帖出这个函数: 复制代码 代码如下:function is_utf8($string) { re...