本文实例讲述了PHP输出XML格式数据的方法。分享给大家供大家参考,具体如下:
方法1:
<?phpheader("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:
<?phpheader("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:
<?phpheader('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();//查看根接点XMLif(n){ alert(n.ownerDocument.xml);}//--></script>
新闻热点
疑难解答