PHP SimpleXMLElement:XML文件解析和读写
来源:互联网 发布:知峰竹纤维缩水吗 编辑:程序博客网 时间:2024/05/17 08:24
PHP保存XML文件
$xml = new SimpleXMLElement(XML数据); $xml->asXML(文件名);
PHP读取XML文件
XXX= simplexml_load_file(文件名);
1.使用面向对象方式访问XML
<?phpclass XmlTest{ private $filename = "a.xml"; private $isreading=false; private $rxml;//创建XML文件public function writeTest(){ $_data = <<<data<?xml version="1.0" encoding="UTF-8"?><root> <data>A</data> <data>B</data> <data>C</data> <from> <name fristname='陈'>老四</name> <arg>30</arg> </from> <heading>Reminder</heading> <body>Don't forget the meeting!</body></root>data; $xml = new SimpleXMLElement($_data); $xml->asXML($this->filename); } //读取文件 private function readFile() { if(!$this->isreading) { $this->rxml= simplexml_load_file($this->filename); $this->isreading=true; } } //测试:遍历某一数组 public function readdata() { $this->readFile(); foreach ($this->rxml->data as $x) { echo "[".$x."]"; } echo "<br>"; } //测试 用数组下标读取数组某一项 public function readdata1() { $this->readFile(); echo "读取第[1]个data数据:"; echo $this->rxml->data[1] ."<br>"; } //测试:读取2级XML节点 public function readfrom() { $this->readFile(); echo "读取from节点:"; echo $this->rxml->from->name .','; echo $this->rxml->from->arg."<br>"; //读取name节点的fristname属性 echo $this->rxml->from->name['fristname']."<br>"; }}$tmp = new XmlTest();$tmp->writeTest();$tmp->readdata();$tmp->readdata1();$tmp->readfrom();?>
浏览器打印:
[A][B][C]读取第[1]个data数据:B读取from数据:老四,30陈
2.使用xpath访问XML., 用路径获取节点,区别:获取的节点都以数组返回,因此用数组下标访问
public function readdata_xpath() { $this->readFile(); $data= $this->rxml->xpath('/root/data'); foreach ($data as $x) { echo "[".$x."]"; } echo "<br>"; } public function readdata1_xpath() { $this->readFile(); $data1 = $this->rxml->xpath('/root/data'); echo "读取第[1]个data数据:"; echo $data1[1] ."<br>"; } public function readfrom_xpath() { $this->readFile(); $name= $this->rxml->xpath('/root/from/name'); $arg= $this->rxml->xpath('/root/from/arg'); echo "读取from数据:"; echo $name[0] .','; echo $arg[0]."<br>"; //读取name节点的fristname属性 echo $name[0]['fristname']."<br>"; }
$tmp->readdata_xpath();$tmp->readdata1_xpath();$tmp->readfrom_xpath();******************浏览器打印:[A][B][C] 读取第[1]个data数据:B 读取from数据:老四,30 陈
0 0
- PHP SimpleXMLElement:XML文件解析和读写
- PHP中用SimpleXMLElement解析xml
- PHP读写XML文件
- PHP读写XML文件
- PHP读写XML文件
- PHP读写XML文件
- PHP读写XML文件
- php读写XML文件
- PHP读写XML文件
- PHP读写XML文件
- php的SimpleXML方法读写XML接口文件实例解析
- php的SimpleXML方法读写XML接口文件实例解析
- php SimpleXMLElement 子结点插入SimpleXMLElement
- PHP解析XML文件
- php解析xml文件
- php解析xml文件
- Php 解析XML文件
- Php 解析XML文件
- Android RecyclerView 使用例子
- Android 通过拍照或相册选择图片并裁剪(精简版)
- Android 实现长按录音获取实时音量显示图片(类似微信)
- System.Threading.Thread.Sleep(2000);
- Python实现网页版微信登陆
- PHP SimpleXMLElement:XML文件解析和读写
- Android入门实战、高手进阶教程
- mybatis-generator maven 生成映射文件
- jdbc连接MySQL数据库的简单应用
- linux下关闭防火墙
- python pil 第三方库实战之二:图片叠加
- Java 多线程之Thread类继承
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- 虚拟机类加载机制