php 生成xml 的四种方式
PHP中的生成XML文件的4种方法
【XMLWriter】
方法3:使用XMLWriter类创建XML文件
此方法在PHP 5.1.2后有效
另外,它可以输出多种编码的XML,但是输入只能是utf-8
PHP代码如下:
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
<?PHP
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//属性数组
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$xml=new XMLWriter();
$xml->openUri("php://output");//输出方式,也可以设置为某个xml文件地址,直接输出成文件
$xml->setIndentString('');
$xml->setIndent(true);
$xml->startDocument('1.0','utf-8');//开始创建文件
//根结点
$xml->startElement('article');
foreach($data_arrayas$data){
$xml->startElement('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$xml->startElement($key);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key])){
foreach($attribute_array[$key]as$akey=>$aval){//设置属性值
$xml->writeAttribute($akey,$aval);
}
}
$xml->text($row);//设置内容
$xml->endElement();// $key
}
}
$xml->endElement();//item
}
$xml->endElement();//article
$xml->endDocument();
$xml->flush();
?>
【SimpleXML】
方法4:使用SimpleXML创建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
<?PHP
$data_array = array(
array(
'title' => 'title1',
'content' => 'content1',
'pubdate' => '2009-10-11',
),
array(
'title' => 'title2',
'content' => 'content2',
'pubdate' => '2009-11-11',
)
);
//属性数组
$attribute_array = array(
'title' => array(
'size' => 1
)
);
$string = <<<XML
<?xml version='1.0' encoding='utf-8'?>
<article>
</article>
XML;
$xml = simplexml_load_string($string);
foreach ($data_array as $data) {
$item = $xml->addChild('item');
if (is_array($data)) {
foreach ($data as $key => $row) {
$node = $item->addChild($key, $row);
if (isset($attribute_array[$key]) && is_array($attribute_array[$key])) {
foreach ($attribute_array[$key] as $akey => $aval) { //设置属性值
$node->addAttribute($akey, $aval);
}
}
}
}
}
echo $xml->asXML();
?>
本文地址:PHP中的生成XML文件的4种方法 文章出处:PHP源码阅读,PHP设计模式,PHP学习笔记-胖子的空间 转载请以链接形式注明原始出处和作者,谢绝不尊重版权者抄袭!
页:
[1]