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 相关文章推荐
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
php实现的九九乘法口诀表简洁版
Jul 28 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
一个简单的php路由类
May 29 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
PHP实现字母数字混合验证码功能
Jul 11 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 Callable强制指定回调类型的方法
2016/08/30 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
学习ExtJS form布局
2009/10/08 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python在每个字符后添加空格的实例
2018/05/07 Python
10个Python小技巧你值得拥有
2018/09/29 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python环境下安装opencv库的方法
2020/03/05 Python
学习Python列表的基础知识汇总
2020/03/10 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
复核员上岗演讲稿
2014/01/05 职场文书
超市采购员岗位职责
2014/02/01 职场文书
行政管理专业求职信
2014/07/06 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
环境卫生标语
2015/08/03 职场文书
小学思想品德教学反思
2016/02/24 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python