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实现框架(一)
Oct 09 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP学习 变量使用总结
Mar 24 PHP
php基础学习之变量的使用
Jun 09 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
解析php中curl_multi的应用
Jul 17 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
php PDO异常处理详解
Nov 20 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP面向对象法则
2012/02/23 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
javascript 一些用法小结
2009/09/11 Javascript
js文字横向滚动特效
2015/11/11 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
python文件写入实例分析
2015/04/08 Python
Python实现二叉搜索树
2016/02/03 Python
Flask框架信号用法实例分析
2018/07/24 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
python数据归一化及三种方法详解
2019/08/06 Python
django创建简单的页面响应实例教程
2019/09/06 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
navabi英国:设计师大码女装
2019/06/25 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
合伙经营协议书范本
2014/04/18 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
圣诞晚会主持词
2015/07/01 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
python ConfigParser库的使用及遇到的坑
2022/02/12 Python