XML XPATH simpleXML
XPath
通过DOM结构定位节点,在数据量很大的情况下速度下降的很厉害。解决方法是XPath。Xpath的作用:用于快速定位节点
position()是节点的位置,节点的位置是从1开始
simpleXML
PHP5以上提供了一个simpleXML对象来操作XML。把XML的节点转换成对象和数组去操作。
思路:先讲xml字符串转化成对象及数组
/****************************************************************/
<?php
$xml= file_get_contents('books.xml');//获取XML的字符串
$simple=new SimpleXMLElement($xml);//把xml字符串转换成数组 $simple代表根节点
//1、查询
//echo '<pre>';
//var_dump($simple);
echo "<table border='1'>";
foreach ($simple->book as $book){
$attr=$book->attributes();//获取节点的属性
echo "<tr>";
echo "<td>".$book->name."</td>";
echo "<td>".$book->price."</td>";
echo "<td>".$attr['type']."</td>";
echo "</tr>";
}
echo "</table>";
//添加
/*
$book=$simple->addChild('book');//在根节点下加book节点
$book->addChild('name', 'C++');
$book->addChild('price','11');
$book->addAttribute('type', '动态语言');
$simple->saveXML('books.xml');//保存xml文件
*
*/
//更新
/*
foreach($simple->book as $book){
$book->name.='-北京出版社';
}
$simple->saveXML('books.xml');
*
*/
//删除
for($i=count($simple->book)-1;$i>=0;$i--){//从最后往前删除对应的元素,
//如果从前往后删除元素,则$i不停变换是的对应的元素并不会被删除
$currentbook=$simple->book[$i]; //当前的图书
$attr=$currentbook->attributes();
if($attr['type']=='动态语言')
{
unset($simple->book[$i]);
}
}
$simple->saveXML('books.xml');
最新文章
- ABP(现代ASP.NET样板开发框架)系列之4、ABP模块系统
- C#中 反射中的Assembly(装载程序集):
- Freemarker使用入门
- Using Vertex Texture Displacement for Realistic Water Rendering
- loadView, viewDidLoad 快速使用
- C#的类成员初始化顺序
- 开源的Delphi性能调试工具
- ABP Zero源码
- 在线音乐播放器-----酷狗音乐api接口抓取
- SBT使用阿里云Maven仓库,解决SBT下载依赖慢。
- 语义化版本控制规范(SemVer)
- PHP性能优化利器:生成器 yield理解
- k8s 节点的 NodeAffinity 使用
- 使用Sqlserver事务发布实现数据同步(zhuanqian)
- BI怎么选?重点看这10个技术指标
- [20180619]oradebug peek.txt
- php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
- 手把手教你整合最优雅SSM框架
- CTEX windedt 打开中文tex乱码问题
- (转)No row with the given identifier exists问题的解决