php下xmlwriter,PHP实现基于XMLWriter操作xml的方法
这篇文章主要介绍了PHP基于XMLWriter操作xml的方法,结合实例形式分析了php使用XMLWriter生成及解析xml数据的操作技巧,需要的朋友可以参考下
接着昨天的这次再来学习一种读写xml的方式,这种方式主要围绕XMLWriter和XMLReader进行。前者用于生成xml,后者则是用来读取并解析xml.废话不多说一起来看看吧
1. 生成xml文件或字符串
header("Content-type: text/html; charset=utf-8");
$xml=new XMLWriter();
//$xml->openUri("php://output");
//设置输出,如果不需要保存成文件则使用上面被注释掉那句
$xml->openUri("stu2.xml");
//设置缩进字符串,这里设置为空串(这句和下面的setIntent也可以不要)
$xml->setIndentString('');
$xml->setIndent(true);
//xml文档开始
$xml->startDocument('1.0', 'utf-8');
//创建根节点
$xml->startElement("StudentInfo");
$xml->startElement("Item");
//添加属性
$xml->writeAttribute("type","1");
$xml->startElement("id");
$xml->text("01");
$xml->endElement();
$xml->startElement("name");
$xml->text("刘惜君");
$xml->endElement();
$xml->endElement();
$xml->endElement();
$xml->endDocument();
//header("Content-type: text/xml");
//取得缓冲区里的xml字符串
//echo $xml->outputMemory();
?>
这种方式的特点是每个标签结束后需要一个endElement,xml拼接好后需要把文档结束掉。有一种“层层包裹”的感觉
2. 解析xml
header("Content-type: text/html; charset=utf-8");
$xml=new XMLReader();
//载入xml文件,如果是字符串直接使用xml方法
$xml->open("student.xml");
//开始读取xml
while($xml->read()){
//根据节点类型和元素名称取得文本节点或属性
if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'item') {
print $xml->getAttribute("id") . "";
}
if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'name') {
//移动指针到下一个节点
$xml->read();
//取得文本节点的值
print $xml->value."";
}
if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'age') {
$xml->read();
print $xml->value."";
}
}
?>
这种解析xml的方式比较高效,如果有的地方看不懂建议查阅下PHP开发手册
被解析的文件内容如下
冯绍峰30潘玮柏29
下面是解析出来的结果
相关推荐:
php下xmlwriter,PHP实现基于XMLWriter操作xml的方法相关推荐
- Windows下安装Redis及使用Python操作Redis的方法
这篇文章主要介绍了Windows下安装Redis及使用Python操作Redis的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 首先说一下在Windows下安装Redis,安装包可以在htt ...
- php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
详解PHP原生DOM对象操作XML的方法 发布于 2017-08-08 20:15:29 | 80 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...
- QTP操作xml文件方法
搜索1: 目前,企业中对XML的应用越来越广泛,作为自动化测试的测试工程师,也应该掌握XML的读写操作. 以下我使用XML DOM技术演示一个例子,用以读取XML指定节点的节点内容值. 读取函数原型 ...
- T-SQL操作XML 数据类型方法 modify 的参数 1 必须是字符串文字。
----删除关键字的同时也清理AP表中所有关联这个ID的数据 create trigger Trg_UpdateAppWordOnDelKeyWord on [dbo].[tbl_KeyWord] f ...
- ASP.net Xml: ASP.net操作Xml
专题图编号:ylbtechASPnetXml100010010 XML课件PPT[在线PPT课件倡导者-ylb] http://wenku.baidu.com/view/bfac3ebe1a37f1 ...
- java中document解析jsp,JSP基于dom解析xml实例详解
本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩) ...
- 基于CentOS7操作cobbler批量装机-(centos7和redhat8)
基于CentOS7操作cobbler批量装机-centos7和redhat8 1. cobbler简介 2. cobbler服务端部署 3. 客户端安装 4. 定制安装 5.命令方式和定制安装Cent ...
- 深入理解:scp,rsync,sftp,xsync等命令的基本使用方法,以及cmd命令窗口下进行相关的ssh命令操作
深入理解:scp,rsync,sftp,xsync等命令的基本使用方法,以及cmd命令窗口下进行相关的ssh命令操作 一·scp命令使用方法:参考链接 二·rsync命令使用方法:参考链接 三·xsy ...
- python 获取excel文本框_如何基于python操作excel并获取内容
这篇文章主要介绍了如何基于python操作excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:从excel表中获取请求url. ...
最新文章
- 13种编程语言名称的来历
- 微软AI要参加IMO竞赛!小目标:数学金牌
- C#中对于float,double,decimal的误解
- 开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
- VC嵌入python时debug版lib下载
- datagrid 溢出文本显示省略号
- C语言中可变参函数介绍与示例
- [转]Java集合类: Set、List、Map、Queue使用场景梳理
- dubbo与springcloud对比与面试
- 廖雪峰Python教程练习题
- 华为数通HCIA笔记(OSI七层)
- 搜狐全体员工遭遇工资补助诈骗,冲上微博热搜第一
- 微信小程序登陆流程踩坑
- mysql事物幻读_MySQL事务的幻读
- 计算机连接网络被限制,本地连接受限制或无连接怎么办很简单解决教程
- 在linux下成功写Bingo游戏
- python自然语言处理 | 分析句子结构
- 随心所遇,随遇而安。
- Ubuntu 找不到wifi适配器
- IP67 | IP58 防护等级理解
热门文章
- Scikit_Learn介绍及演练
- 2015计算机类专业课类试卷,2015年自考《计算机应用基础》模拟试题及答案
- php border-style,border-style
- python函数定义时参数相当于占位符_python中函数的参数
- wscript.exe无法打开vbs_如何恶搞朋友的电脑?超简单的vbs代码
- android 补签控件,墨墨背单词怎么补签 看完你就懂了
- 把网站图片和php程序分离,我的图片服务器和WEB应用服务器相分离的简单方案
- android 上划卡住tab_Android SlidingTabLayout用法禁止ViewPager滑动
- 通过命令行获取计算机参数,Win32命令行参数的传到和获取
- php而且,PHP – David's Blog