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');

最新文章

  1. ABP(现代ASP.NET样板开发框架)系列之4、ABP模块系统
  2. C#中 反射中的Assembly(装载程序集):
  3. Freemarker使用入门
  4. Using Vertex Texture Displacement for Realistic Water Rendering
  5. loadView, viewDidLoad 快速使用
  6. C#的类成员初始化顺序
  7. 开源的Delphi性能调试工具
  8. ABP Zero源码
  9. 在线音乐播放器-----酷狗音乐api接口抓取
  10. SBT使用阿里云Maven仓库,解决SBT下载依赖慢。
  11. 语义化版本控制规范(SemVer)
  12. PHP性能优化利器:生成器 yield理解
  13. k8s 节点的 NodeAffinity 使用
  14. 使用Sqlserver事务发布实现数据同步(zhuanqian)
  15. BI怎么选?重点看这10个技术指标
  16. [20180619]oradebug peek.txt
  17. php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
  18. 手把手教你整合最优雅SSM框架
  19. CTEX windedt 打开中文tex乱码问题
  20. (转)No row with the given identifier exists问题的解决

热门文章

  1. Source Insight下载及注册码
  2. HTML5: HTML5 Geolocation(地理定位)
  3. 原 Nginx网络架构实战学习笔记(七):nginx性能优化小总结
  4. java 并发——synchronized
  5. java 重新学习 (二)
  6. 关于软件IntelliJ IDEA的使用技巧(四)
  7. 【LeetCode】排序
  8. ubuntu颜色配置
  9. Hadoop(三)YARN
  10. leetcode-161周赛-5248-统计【优美子数组】