Cet article présente principalement la méthode de sortie PHP des données au format XML. Il résume et analyse les compétences opérationnelles liées à la sortie de données au format XML couramment utilisées par PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Les exemples de cet article décrivent la méthode PHP pour générer des données au format XML. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : Méthode 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>"; ?>
Méthode 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>"; ?>
<?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; ?>
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>";
<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>