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中使用反射技术的架构插件使用说明
May 18 PHP
使用迭代器 遍历文件信息的详解
Jun 08 PHP
php中session退出登陆问题
Feb 27 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
Yii实现显示静态页的方法
Apr 25 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 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中使用XML
2006/10/09 PHP
MySQL相关说明
2007/01/15 PHP
php zip文件解压类代码
2009/12/02 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
react-redux中connect()方法详细解析
2017/05/27 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
水电工岗位职责
2014/02/12 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
走进科学观后感
2015/06/18 职场文书