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 相关文章推荐
MySQL连接数超过限制的解决方法
Jul 17 PHP
Apache服务器无法使用的解决方法
May 08 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
PHP查询网站的PR值
Oct 30 PHP
php分页示例分享
Apr 30 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
php中的观察者模式简单实例
Jan 20 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
详解PHP归并排序的实现
Oct 18 PHP
php生成图片缩略图功能示例
Feb 22 PHP
php实现和c#一致的DES加密解密实例
Jul 24 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 和 HTML
2006/10/09 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php阳历转农历优化版
2016/08/08 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
jQuery1.6 使用方法二
2011/11/23 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
Python抓取京东图书评论数据
2014/08/31 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
如何用Python合并lmdb文件
2018/07/02 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
如何在python中实现随机选择
2019/11/02 Python
python pygame实现球球大作战
2019/11/25 Python
pyqt5中动画的使用详解
2020/04/01 Python
python 实现逻辑回归
2020/12/30 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
初中生期末考试的自我评价
2013/12/17 职场文书
中层干部竞争上岗演讲稿
2014/01/13 职场文书
九年级英语教学反思
2014/01/31 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
React四级菜单的实现
2022/04/08 Javascript