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

转载于:https://www.cnblogs.com/yd09023/p/5879031.html

XML XPATH simpleXML相关推荐

  1. WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题

    今晚在尝试使用友盟最新的社交分享SDK时,按照官方Demo,并未做多少多少改动,就是去除了对微信.脸书和推特的分享.然后运行之后就一直报错 : {System.IO.FileLoadException ...

  2. python xml xpath定位_selenium3 + python - xpath定位

    什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来 ...

  3. Xml,XPath,XSLTxue 学习方法

    好久没写了,最近一直没状态,不知道是不是春天来了,人老犯困,不是说一年之计在于春吗? 咋一到春天我就犯困呢? 准备: 最近项目中用到xml,xsl很多,但是又不是很方便练习,不过现在终于发现一个工具: ...

  4. Xml xpath samples

    Xml: <?xml version="1.0" encoding="utf-8" ?> <Orders xmlns="http:/ ...

  5. simplexml和xpath

    [xpath查找节点] <?PHP //1.创建DOMDocument对象$xmldoc = new DOMDocument();//2.加载xml$xmldoc -> load(&quo ...

  6. ibm xml专区中对XPATH的一个好文

    ibm xml专区中对XPATH的一个好文,http://www.ibm.com/developerworks/cn/xml/x-xpathjava/ 主要小结如下: 1 JDK 1.5中已经自带了很 ...

  7. 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程

    Ruby XML, XSLT 和 XPath 教程 什么是 XML ? XML 指可扩展标记语言(eXtensible Markup Language). 可扩展标记语言,标准通用标记语言的子集,一种 ...

  8. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    http://blog.csdn.net/smcwwh/article/details/7183869 关键字:Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath ...

  9. 用linq查询html中div个数,C#使用Linq to XML进行XPath查询

    最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath.所以这里总结一下在C#中使用XPath查询XML的方式.习惯了用Linq,这里也是用的Linq to xml ...

最新文章

  1. 3d地球旋转html,echarts 3D地球实现自动旋转
  2. 咖友推荐|我是窝窝酱,我来了,你在哪儿?
  3. linux7.0怎么设置中文,CentOS 7 yum安装zabbix 设置中文界面
  4. js 实现图片旋转角度
  5. dp 树状数组 逆序元组
  6. 07-对图像进行膨胀操作
  7. 语音识别技术应用领域介绍
  8. 笔记本电脑风扇控制软件
  9. mappedBy的具体使用及其含义
  10. PCB画板与硬件调试+AD快捷键小技巧
  11. 一加6android9玩飞车掉,解锁新速度:一加6T深度评测
  12. webstrom无法格式化局部html,格式化代码失效webstorm
  13. 记录Request + BeautifulSoup爬取中国现代诗歌大全网站上的4000+现代诗的过程
  14. 配置Dot1q终结子接口实现跨设备VLAN间通信示例
  15. erlang 开源项目之 Bigwig
  16. webapi Filter
  17. 设置windows下的快捷键,例如新建文本,新建word,新建excel
  18. 动手学bert课程笔记
  19. 刷脸支付赋予日常场景更多的功能和应用
  20. 如何分析大流量网络波动,保障关键业务的安全性?

热门文章

  1. 21天jenkins打卡前置准备:linux环境
  2. 如何搭建测试平台?理清思路很重要
  3. 怎么保存php格式,把php代码保存到php文件实现方法
  4. upgrade cmake-gui version
  5. scalar2color
  6. cleanlab(解决图像标记错误)
  7. PD2SE-Net:植物病害诊断和严重性评估网络(首次)
  8. python中的字符串文本必须用什么括起来_Python标准库---18、文本处理服务:string 常见的字符串操作...
  9. linux下无mysql命令_linux下mysql命令
  10. vue 父刷新子_vue.js从父级中更新子组件数据