本文实例讲述了PHP基于DOM创建xml文档的方法。分享给大家供大家参考,具体如下:
DOM创建xml文档
用dom创建如下文档:
1
2
3
4
5
6
7
8
9
|
< booklist > < book id = "1" > < title >天龙八部</ title > < author >金庸</ author > < content > <![CDATA[ 天龙八部是金庸写的一本武侠小说,非常好看! ]]> </ content > </ book > </ booklist > |
实现步骤:
1、创建DOM对象 ——》2、创建节点——》3、创建下级节点——》4、将下级节点加入到上级节点中——》5、创建属性节点——》6、将属性节点加入到拥有该属性的节点中——》7、如果还有节点则重复2~6步骤——》8、将最高级节点(即根节点)加入到DOM对象中——》9、打开或存储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
|
<?php header( 'Content-Type: text/xml;' ); $dom = new DOMDocument( '1.0' , 'utf-8' ); //建立DOM对象 $no1 = $dom ->createElement( 'booklist' ); //创建普通节点:booklist $dom ->appendChild( $no1 ); //把booklist节点加入到DOM文档中 $no2 = $dom ->createElement( 'book' ); //创建book节点 $no1 ->appendChild( $no2 ); //把book节点加入到booklist节点中 $no3 = $dom ->createAttribute( 'id' ); //创建属性节点:id $no3 ->value = 1; //给属性节点赋值 $no2 ->appendChild( $no3 ); //把属性节点加入到book节点中 $no3 = $dom ->createElement( 'title' ); $no2 ->appendChild( $no3 ); $no4 = $dom ->createTextNode( '天龙八部' ); //创建文本节点:天龙八部 $no3 ->appendChild( $no4 ); //把天龙八部节点加入到book节点中 $no3 = $dom ->createElement( 'author' ); $no2 ->appendChild( $no3 ); $no4 = $dom ->createTextNode( '金庸' ); //创建文本节点:天龙八部 $no3 ->appendChild( $no4 ); //把天龙八部节点加入到book节点中 $no3 = $dom ->createElement( 'content' ); $no2 ->appendChild( $no3 ); $no4 = $dom ->createCDATASection( '天龙八部是金庸写的一本武侠小说,非常好看!' ); //创建文CDATA节点 $no3 ->appendChild( $no4 ); //把天龙八部节点加入到book节点中 header( 'Content-type:text/html;charset=utf-8' ); echo $dom ->save( 'booklist.xml' )? '存储成功' : '存储失败' ; //存储为xml文档 /*直接以xml文档格式打开 header('Content-type:text/xml'); echo $dom->savexml(); */ ?> |
希望本文所述对大家PHP程序设计有所帮助。