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 相关文章推荐
建立文件交换功能的脚本(一)
Oct 09 PHP
杏林同学录(一)
Oct 09 PHP
Smarty安装配置方法
Apr 10 PHP
php采集速度探究总结(原创)
Apr 18 PHP
提高PHP编程效率的方法
Nov 07 PHP
php session劫持和防范的方法
Nov 12 PHP
php实现mysql封装类示例
May 07 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
laravel 获取当前url的别名方法
Oct 11 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
第七节 类的静态成员 [7]
2006/10/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
2012/04/09 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
python静态方法实例
2015/01/14 Python
python中私有函数调用方法解密
2016/04/29 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python监控nginx端口和进程状态
2019/09/06 Python
python 魔法函数实例及解析
2019/09/25 Python
python  logging日志打印过程解析
2019/10/22 Python
python plotly画柱状图代码实例
2019/12/13 Python
法国足球商店:Footcenter
2019/07/06 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
幼儿园消防安全制度
2014/01/26 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
残疾人小组计划书
2014/04/27 职场文书
舞蹈专业求职信
2014/06/13 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers