本文实例讲述了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程序设计有所帮助。