本文实例讲述了PHP输出XML格式数据的方法。分享给大家供大家参考,具体如下:
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?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:
1
2
3
4
5
|
<?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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?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的实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 实例
文中尽量用上所有的操作和属性,以做示范
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<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> |
希望本文所述对大家PHP程序设计有所帮助。