PHP输出XML格式数据的方法总结
作者:John_ABC
这篇文章主要介绍了PHP输出XML格式数据的方法,结合实例形式总结分析了php常用的xml格式数据输出相关操作技巧,需要的朋友可以参考下
本文实例讲述了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>"; ?>
上述示例运行效果图如下:
方法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>
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。