PHP输出XML格式数据的方法总结


Posted in PHP onFebruary 08, 2017

本文实例讲述了PHP输出XML格式数据的方法。分享给大家供大家参考,具体如下:

方法1:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<users>";
echo "<user>";
  echo "<name>";
  echo "小小菜鸟";
  echo "</name>";
  echo "<age>";
  echo "24";
  echo "</age>";
  echo "<sex>";
  echo "男";
  echo "</sex>";
echo "</user>";
echo "<user>";
  echo "<name>";
  echo "艳艳";
  echo "</name>";
  echo "<age>";
  echo "23";
  echo "</age>";
  echo "<sex>";
  echo "女";
  echo "</sex>";
echo "</user>";
echo "</users>";
?>

上述示例运行效果图如下:

PHP输出XML格式数据的方法总结

方法2:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<users><user><name> 小小菜鸟</name><age>24</age><sex>男</sex>< /user><user><name>艳艳</name><age>23< /age><sex>女</sex></user></users>";
?>

方法3:

<?php
header('Content-Type: text/xml;');
//创建新的xml文件
$dom = new DOMDocument('1.0', 'utf-8');
//建立<response>元素
$response = $dom->createElement('response');
$dom->a($response);
//建立<books>元素并将其作为<response>的子元素
$books = $dom->createElement('books');
$response->a($books);
//为book创建标题
$title = $dom->createElement('title');
$titleText = $dom->createTextNode('PHP与AJAX');
$title->a($titleText);
//为book创建isbn元素
$isbn = $dom->createElement('isbn');
$isbnText = $dom->createTextNode('1-21258986');
$isbn->a($isbnText);
//创建book元素
$book = $dom->createElement('book');
$book->a($title);
$book->a($isbn);
//将<book>作为<books>子元素
$books->a($book);
//在一字符串变量中建立XML结构
$xmlString = $dom->saveXML();
//输出XML字符串
echo $xmlString;
?>

1.php输出xml的实例

header('Content-Type: text/xml');
$sql = "select * from article order by post_date limit 100";
$re = $db->query($sql);
echo "<?xml version="1.0" encoding="utf-8"?>\n";
echo "<data>\n";
while($row = $db->fetchArray($re)){
echo "<event ";
echo "start="".strftime ("%b %d %Y %H:%M:%S", $row['post_date'])."" ";
echo "title="".htmlspecialchars($row['title'])."" ";
echo "link="tdetail.php?id=".$row['time_point'].""";
echo ">";
echo htmlspecialchars($row['content']);
echo "</event>\n";
}
echo "</data>";

2.用JavaScript操作XML 实例

文中尽量用上所有的操作和属性,以做示范

<script language="JavaScript">
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")
//加载文档
//doc.load("b.xml");
//创建文件头
var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");
//添加文件头
doc.a(p);
//用于直接加载时获得根接点
//var root = doc.documentElement;
//两种方式创建根接点
// var root = doc.createElement("students");
var root = doc.createNode(1,"students","");
//创建子接点
var n = doc.createNode(1,"ttyp","");
//指定子接点文本
//n.text = " this is a test";
//创建孙接点
var o = doc.createElement("sex");
o.text = "男"; //指定其文本
//创建属性
var r = doc.createAttribute("id");
r.value="test";
//添加属性
n.setAttributeNode(r);
//创建第二个属性
var r1 = doc.createAttribute("class");
r1.value="tt";
//添加属性
n.setAttributeNode(r1);
//删除第二个属性
n.removeAttribute("class");
//添加孙接点
n.a(o);
//添加文本接点
n.a(doc.createTextNode("this is a text node."));
//添加注释
n.a(doc.createComment("this is a comment\n"));
//添加子接点
root.a(n);
//复制接点
var m = n.cloneNode(true);
root.a(m);
//删除接点
root.removeChild(root.childNodes(0));
//创建数据段
var c = doc.createCDATASection("this is a cdata");
c.text = "hi,cdata";
//添加数据段
root.a(c);
//添加根接点
doc.a(root);
//查找接点
var a = doc.getElementsByTagName_r("ttyp");
//var a = doc.selectNodes("//ttyp");
//显示改接点的属性
for(var i= 0;i<a.length;i++)
{
    alert(a.xml);
    for(var j=0;j<a.attributes.length;j++)
    {
     alert(a.attributes[j].name);
    }
}
//修改节点,利用XPATH定位节点
var b = doc.selectSingleNode("//ttyp/sex");
b.text = "女";
//alert(doc.xml);
//XML保存(需要在服务端,客户端用FSO)
//doc.save();
//查看根接点XML
if(n)
{
    alert(n.ownerDocument.xml);
}
//-->
</script>
PHP 相关文章推荐
新手学PHP之数据库操作详解及乱码解决!
Jan 02 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
php 生成随机验证码图片代码
Feb 08 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
PHP中大括号'{}'用法实例总结
Feb 08 #PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 #PHP
php实现连接access数据库并转txt写入的方法
Feb 08 #PHP
php unicode编码和字符串互转的方法
Aug 12 #PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 #PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 #PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 #PHP
You might like
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
php 浮点数比较方法详解
2017/05/05 PHP
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python如何求解两数的最大公约数
2018/09/27 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
python如何实现视频转代码视频
2019/06/17 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
如何基于Python和Flask编写Prometheus监控
2020/11/25 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
日期和时间问题
2015/01/04 面试题
应届生服务员求职信
2013/10/31 职场文书
社区庆八一活动方案
2014/02/02 职场文书
综合实践活动报告
2015/02/05 职场文书
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis