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');
XML XPATH simpleXML的更多相关文章
- JavaEE XML XPath
JavaEE XML XPath @author ixenos XPath技术 1 引入 问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!!需要遍历DOM树的众多节点 ...
- WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题
今晚在尝试使用友盟最新的社交分享SDK时,按照官方Demo,并未做多少多少改动,就是去除了对微信.脸书和推特的分享.然后运行之后就一直报错 : {System.IO.FileLoadException ...
- XML & XPath & XQuery
XML & XPath & XQuery full XPath demo https://www.w3.org/TR/xpath-full-text-30/ https://www.w ...
- 【二十八】xml编程(dom\xpath\simplexml)
1.xml基础概念 作用范围: 作为程序通讯的标准. 作为配置文件. 作为小型数据库. xml语法: <根标签> <标签 元素="元素值" ...>< ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- XML Xpath学习
Xpath是一门在xml文档中查找信息的语言. Xpath可用来在xml文档中对元素和属性进行遍历. <1>路径表达式1: 斜杠(/)作为路径内部的分隔符 同一个路径有绝对路径和相对路径两 ...
- XML, XPath, Xslt及解析/Parse
XML及解析/Parse "Programming with libxml2 is like the thrilling embrace of an exotic stranger.&quo ...
- HTML/XML/XPATH基础
Html超文本标记语言 网页上单击右键→查看源文件/查看源代码 Html基本结构 <html> 为文档根元素,所有元素都在内部进行 <head> ...
- 35、XpathNavigator Xpath导航器 System.Xml.XPath;
XPathNavigator类包含移动和选择XML所需元素的所有方法. 一.创建: a.如果是从XPathDocument中创建,则是只读的,只能浏览数据: b.如果是从XmlDocument中创建 ...
随机推荐
- gulp压缩css
gulp压缩css,选用的依赖是gulp-clean-css,在压缩大型项目时还对用到一个dom流压缩文件选取的依赖gulp-dom-src 依赖安装:npm i gulp-clean-css 依赖安 ...
- (59)C# IIS Express 设置
支持非localhost访问 本地测试时 修改 localhost改成127.0.0.1
- 用 Flask 来写个轻博客 (4) — (M)VC_创建数据模型和表
目录 目录 前文列表 扩展阅读 定义数据模型 models 创建表 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 ...
- C++——右值引用
1.绑定到一个将要销毁的右值的引用——移动 2.左值表达式——对象的身份:右值表达式——对象的值 ; int& r=i; int&& rr=i;//×,左值不能绑定到右值引用 ...
- TTL 与 CMOS
Frm: https://blog.csdn.net/qq_27745395/article/details/76687175 http://baijiahao.baidu.com/s?id=1598 ...
- HDU6655 Just Repeat(2019杭电多校J题)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6655 简单博弈问题,A,B手里各有n,m张牌,牌有颜色,两人轮流出牌(A先出),一个人只能打出对放未打 ...
- 微信小程序 使用wxParse解析html
微信小程序 加载 HTML 标签:https://blog.csdn.net/zclengendary/article/details/54312030 微信小程序 使用wxParse解析html:h ...
- Java中的宏变量,宏替换详解。
群友在微信群讨论的一个话题,有点意思,特拿出来分享一下. 首先来看下面这段程序,和群友分享的大致一样. public static void main(String[] args) { String ...
- 小部分安卓手机 reload 等方法不执行
自己解析 url 来赋值刷新页面 方法如下:// location.href function updateUrl(url, key) { var key = (key || 't') + ...
- 《构建之法》需求分析 读书笔记 Week6
本周选读<构建之法>第8章——需求分析.由于有团队项目初期调研阶段做调查问卷的经历,这一章节中很多知识点我都比较有体会.对我而言,这一章节最有价值的内容就是厘清了关于需求分析的两个误解和近 ...