PHP输出XML格式数据的方法总结
程序员文章站
2024-03-13 21:20:34
本文实例讲述了php输出xml格式数据的方法。分享给大家供大家参考,具体如下:
方法1:
本文实例讲述了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互相转换工具:
在线格式化xml/在线压缩xml:
xml在线压缩/格式化工具:
xml代码在线格式化美化工具:
更多关于php相关内容感兴趣的读者可查看本站专题:《php针对xml文件操作技巧总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php错误与异常处理方法总结》、《php基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。