使用SimpleXML 解析xml
最近搞解析XML搞的我是水深火热的,所以打算对PHP5解析XML做个学习小结。今天介绍下与PHP5捆绑在一起的SimpleXML扩展,这个用于可读写XML的新的API,让解析XML不再繁琐和困难,用起来就一个字“爽”。接下来我就告诉你有多爽。
1.今天解析的XML文档格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : test.xml
Author : 蘇哥拉笛
Description:
Purpose of the document follows.
-->
<root>
<row id="1">
<name>Jordan</name>
<age>40</age>
<email>jordan@gmail.com</email>
</row>
<row id="2">
<name>Yao</name>
<age>27</age>
<email>yaoming@yahoo.com.cn</email>
</row>
<row id="3">
<name>sugeladi</name>
<age>22</age>
<email>su@@@@@@ge</email>
</row>
</root>
2.解析XML:
解析XML并把它保存在一个变量中,使用SimpleXML只需要写一行即可完成:
$xml=simplexml_load_file("test.xml")
3.获取你想要标签的值:
比如我想要拿到name标签中的值,你可以这样写:
$name=$xml->row->name;
之后echo $name,得到jordan。如果要得到全部的name标签的值,你可以这样:
foreach($xml -> row as $row){
echo "$row -> name<br>";
}
输出:Jordan
Yao
sugeladi
看到这你发现乐趣了没?哈哈,你想要什么,只要有$xml这个对象,只有你熟悉XML文档的结构,那么取值是不是很方便的说,只要给出相应的节点标签名称,你就可以获取到你想要的值。那么接下来我们继续来玩玩XML解析。
4.按索引访问相应的标签元素值
如果XML结构良好,那么我们可以按索引访问元素,默认索引为0,比如现在我们要拿name是Jordan这项,我们可以这样写:
$name=$xml -> row[0] -> name;
echo $name;
输出:Jordan
5.查找元素的属性值:
我们现在要取<row id="1">的id的值可以这样:
foreach($xml -> row -> attributes() as $id){
echo $id;
}
输出:1
使用SimpleXML 解析xml的更多相关文章
- SimpleXML解析xml文件
SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式. 与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据. Simp ...
- 使用SimpleXML解析xml文件数据
最近工作要求从一个XML文档中批量读取APK应用数据,自然想到用SimpleXML.经过一段时间摸索,终于成功解析,现在将思路以及代码做下记录: xml文件格式大致如下: <?xml versi ...
- PHP使用SimpleElement创建和解析xml文件
<!-- 使用SimpleXMLElement生成xml文件 --><?php//生成一个xml文件 //xml字符串$_xml = <<<_xml<?xml ...
- PHP创建与解析 XML 1 (36)
一.使用SimpleXML操控XML 要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构 ...
- dom技术解析xml (php)
1.xml实例 test.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE 班级 SYS ...
- XMLREADER/DOM/SIMPLEXML 解析大文件
DOM和simplexml处理xml非常的灵活方便,它们的内存组织结构与xml文件格式很相近.但是同时它们也有一个缺点,对于大文件处理起来力不从心,太耗内存了. 还好有xmlreader,基于流的解析 ...
- php解析xml的几种方式
php提供几种解析xml的类或方法,包括:Xml parser. SimpleXML,.XMLReader,.DOMDocument. XML Expat Parser: XML Parser使用Ex ...
- PHP-过滤器-连接数据库-解析XML
PHP 过滤器 what? PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
随机推荐
- dgraph 基本查询语法 三
这部分主要是查询块.查询变量.聚合操作 多名称查询 实际上就是类似多个查询数据的拼接 格式: { caro(func: allofterms(name@en, "Marc Caro" ...
- Spark的启动进程详解
Master和Worker是执行任务之前存在的进程 (类似于公司) Driver和Excutor是任务执行之后存在的进程(类似于公司接到项目后才成立的项目小组) 启动步骤: 启动Master资源管理进 ...
- Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复
Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和Voting D ...
- RAC5——11gR2以后GI进程的变化
参考文档: 11gR2 Clusterware and Grid Home - What You Need to Know (Doc ID 1053147.1)诊断 Grid Infrastructu ...
- CommonsChunkPlugin知识点
CommonsChunkPlugin 的作用就是提取代码中的公共模块,然后将公共模块打包到一个独立的文件中去,以便在其它的入口和模块中使用. 多个 html共用一个js文件(chunk),可用Comm ...
- Ionic 中MD5加密使用
1. 下载安装ts-md5 在项目的命令行工具里输入 npm install ts-md5 --save 2. 使用 导入 import {Md5} from "ts-md5/dist/m ...
- C# 监听HTTP请求(遇到的一些问题)
先把代码放在这里,下面再详细解说: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Oracle.DataAccess.Client; ...
- 【Reporting Services 报表开发】— 如何设置报表分页列标题每一页都显示
一.打开已经开发好的报表ReportTest,选择列组下的高级模式—>选择行组的静态(会关联列标题订单编号),修改下面的属性: 1.Hidden:False 2.FixedData:True 3 ...
- Linux Home目录硬盘空间缩减
Linux Home目录硬盘空间缩减 操作 基于centos6.5 x86_64, runlevel 3,命令行模式,测试成功. 1.首先查看磁盘使用情况 [root@localhost ~]# ...
- 转-使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器 2016-09-23 分类:.NET开发.编程开发.首页精华0人评论 分享到:更多3 本文由码农网 – 小峰原创翻译,转载 ...