PHP基于XMLWriter操作xml的方法分析
发布时间 - 2026-01-11 02:22:50 点击率:次本文实例讲述了PHP基于XMLWriter操作xml的方法。分享给大家供大家参考,具体如下:

接着昨天的这次再来学习一种读写xml的方式,这种方式主要围绕XMLWriter和XMLReader进行。前者用于生成xml,后者则是用来读取并解析xml.废话不多说一起来看看吧
1. 生成xml文件或字符串
<?php
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
<?php
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") . "</br>";
}
if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'name') {
//移动指针到下一个节点
$xml->read();
//取得文本节点的值
print $xml->value."</br>";
}
if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'age') {
$xml->read();
print $xml->value."</br>";
}
}
?>
这种解析xml的方式比较高效,如果有的地方看不懂建议查阅下PHP开发手册
被解析的文件内容如下
<?xml version="1.0" encoding="utf-8"?> <UsersInfo><item id="01"><name>冯绍峰</name><age>30</age></item><item id="02"><name>潘玮柏</name><age>29</age></item></UsersInfo>
下面是解析出来的结果
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools./code/xmljson
在线格式化XML/在线压缩XML:
http://tools./code/xmlformat
XML在线压缩/格式化工具:
http://tools./code/xml_format_compress
XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# XMLWriter
# 操作
# xml
# php XMLWriter类的简单示例代码(RSS输出)
# PHP XML操作的各种方法解析(比较详细)
# PHP处理数组和XML之间的互相转换
# PHP中的生成XML文件的4种方法分享
# php生成xml简单实例代码
# PHP XML操作类DOMDocument
# 用PHP编写和读取XML的几种方式
# php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
# php实现xml与json之间的相互转换功能实例
# php的SimpleXML方法读写XML接口文件实例解析
# PHP使用XMLWriter读写xml文件操作详解
# 操作技巧
# 程序设计
# 文档
# 相关内容
# 不需要
# 则是
# 有一种
# 感兴趣
# 给大家
# 再来
# 多说
# 看看吧
# 更多关于
# 这句
# 看不懂
# 所述
# 那句
# 几款
# 好后
# 面向对象
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
无锡营销型网站制作公司,无锡网选车牌流程?
如何彻底删除建站之星生成的Banner?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
如何做网站制作流程,*游戏网站怎么搭建?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
如何快速搭建高效WAP手机网站?
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何用美橙互联一键搭建多站合一网站?
javascript日期怎么处理_如何格式化输出
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
焦点电影公司作品,电影焦点结局是什么?
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
详解jQuery中基本的动画方法
微信小程序制作网站有哪些,微信小程序需要做网站吗?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
制作公司内部网站有哪些,内网如何建网站?
如何快速搭建个人网站并优化SEO?
java获取注册ip实例
高防服务器如何保障网站安全无虞?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何在 React 中条件性地遍历数组并渲染元素
Laravel如何处理异常和错误?(Handler示例)
怎样使用JSON进行数据交换_它有什么限制
Laravel如何实现用户密码重置功能?(完整流程代码)
如何挑选最适合建站的高性能VPS主机?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
香港网站服务器数量如何影响SEO优化效果?
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何用y主机助手快速搭建网站?
如何快速上传自定义模板至建站之星?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
js实现点击每个li节点,都弹出其文本值及修改
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel怎么为数据库表字段添加索引以优化查询
简历没回改:利用AI润色让你的文字更专业
JavaScript如何实现继承_有哪些常用方法
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
详解Android——蓝牙技术 带你实现终端间数据传输
如何快速生成可下载的建站源码工具?
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel如何处理和验证JSON类型的数据库字段
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
大学网站设计制作软件有哪些,如何将网站制作成自己app?

