Home  >  Article  >  Backend Development  >  Summary of methods for outputting data in XML format using PHP

Summary of methods for outputting data in XML format using PHP

高洛峰
高洛峰Original
2017-02-10 16:57:401952browse

This article mainly introduces the method of PHP outputting XML format data. It summarizes and analyzes the commonly used XML format data output related operating skills of PHP in the form of examples. Friends in need can refer to the following.

The examples in this article describe PHP method to output data in XML format. Share it with everyone for your reference, the details are as follows:

Method 1:

<?php
header("Content-type: text/xml");
echo "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>";
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>";
?>

The above example running effect diagram is as follows:

Summary of methods for outputting data in XML format using PHP

Method 2:

<?php
header("Content-type: text/xml");
echo "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>";
echo "<users><user><name> 小小菜鸟</name><age>24</age><sex>男</sex>< /user><user><name>艳艳</name><age>23< /age><sex>女</sex></user></users>";
?>

Method 3:

<?php
header(&#39;Content-Type: text/xml;&#39;);
//创建新的xml文件
$dom = new DOMDocument(&#39;1.0&#39;, &#39;utf-8&#39;);
//建立<response>元素
$response = $dom->createElement(&#39;response&#39;);
$dom->a($response);
//建立<books>元素并将其作为<response>的子元素
$books = $dom->createElement(&#39;books&#39;);
$response->a($books);
//为book创建标题
$title = $dom->createElement(&#39;title&#39;);
$titleText = $dom->createTextNode(&#39;PHP与AJAX&#39;);
$title->a($titleText);
//为book创建isbn元素
$isbn = $dom->createElement(&#39;isbn&#39;);
$isbnText = $dom->createTextNode(&#39;1-21258986&#39;);
$isbn->a($isbnText);
//创建book元素
$book = $dom->createElement(&#39;book&#39;);
$book->a($title);
$book->a($isbn);
//将<book>作为<books>子元素
$books->a($book);
//在一字符串变量中建立XML结构
$xmlString = $dom->saveXML();
//输出XML字符串
echo $xmlString;
?>

1.Example of php outputting xml

header(&#39;Content-Type: text/xml&#39;);
$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[&#39;post_date&#39;])."" ";
echo "title="".htmlspecialchars($row[&#39;title&#39;])."" ";
echo "link="tdetail.php?id=".$row[&#39;time_point&#39;].""";
echo ">";
echo htmlspecialchars($row[&#39;content&#39;]);
echo "</event>\n";
}
echo "</data>";

2.Example of using JavaScript to operate XML

Use all operations in the article as much as possible and attributes, as a demonstration

<script language="JavaScript">
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")
//加载文档
//doc.load("b.xml");
//创建文件头
var p = doc.createProcessingInstruction("xml","version=&#39;1.0&#39;  encoding=&#39;gb2312&#39;");
//添加文件头
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>

For more PHP methods to output XML format data and related articles, please pay attention to the PHP Chinese website!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn