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一些服务器端特性的配置加强php的安全
Oct 09 PHP
我的论坛源代码(五)
Oct 09 PHP
PHP新手上路(十四)
Oct 09 PHP
PHP伪造referer实例代码
Sep 20 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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多态的实现详解
2013/06/09 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
php格式化json函数示例代码
2016/05/12 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
pyhton列表转换为数组的实例
2018/04/04 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
python 实现让字典的value 成为列表
2019/12/16 Python
python实现密码强度校验
2020/03/18 Python
Django自带的用户验证系统实现
2020/12/18 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
名人演讲稿范文
2013/12/28 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
人生遥控器观后感
2015/06/11 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
python通过opencv调用摄像头操作实例分析
2021/06/07 Python