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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
PHP中创建图像并绘制文字的例子
Nov 19 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
PHP中的一些常用函数收集
May 26 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP云打印类完整示例
Oct 15 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
Nov 21 PHP
如何用PHP实现多线程编程
May 26 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
javascript类型转换示例
2014/04/29 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
公司行政经理岗位职责
2013/12/24 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python