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调用Java对象的方法
Oct 09 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
PHP 开源框架22个简单简介
2009/08/24 PHP
php 地区分类排序算法
2013/07/01 PHP
2014过年倒计时示例
2014/01/31 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
利用Python演示数型数据结构的教程
2015/04/03 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python实现的栈(Stack)
2018/01/26 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
大学同学十年聚会感言
2014/02/21 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
交通安全学习心得体会
2016/01/18 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python