PHP生成xml的方法
来源:互联网 发布:淘宝的淘气值 编辑:程序博客网 时间:2024/04/30 01:04
使用DomDocument生成XML文件,创建节点使用createElement方法,创建文本内容使用createTextNode方法,添加子节点使用appendChild方法,创建属性使用createAttribute方法
<?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文档并设置XML版本和编码。。
$dom=new DomDocument('1.0', 'utf-8');
// 创建根节点
$article = $dom->createElement('article');
$dom->appendchild($article);
foreach ($data_array as $data) {
$item = $dom->createElement('item');
$article->appendchild($item);
create_item($dom, $item, $data, $attribute_array);
}
echo $dom->saveXML();
function create_item($dom, $item, $data, $attribute) {
if (is_array($data)) {
foreach ($data as $key => $val) {
// 创建元素
$$key = $dom->createElement($key);
$item->appendchild($$key);
// 创建元素值
$text = $dom->createTextNode($val);
$$key->appendchild($text);
if (isset($attribute[$key])) {
// 如果此字段存在相关属性需要设置
foreach ($attribute[$key] as $akey => $row) {
// 创建属性节点
$$akey = $dom->createAttribute($akey);
$$key->appendchild($$akey);
// 创建属性值节点
$aval = $dom->createTextNode($row);
$$akey->appendChild($aval);
}
} // end if
}
} // end if
} // end function
?>
复制代码 代码如下:
使用DomDocument生成XML文件,创建节点使用createElement方法,创建文本内容使用createTextNode方法,添加子节点使用appendChild方法,创建属性使用createAttribute方法复制代码 代码如下:<?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文档并设置XML版本和编码。。$dom=new DomDocument('1.0', 'utf-8');// 创建根节点$article = $dom->createElement('article');$dom->appendchild($article);foreach ($data_array as $data) { $item = $dom->createElement('item'); $article->appendchild($item); create_item($dom, $item, $data, $attribute_array);}echo $dom->saveXML();function create_item($dom, $item, $data, $attribute) { if (is_array($data)) { foreach ($data as $key => $val) { // 创建元素 $$key = $dom->createElement($key); $item->appendchild($$key); // 创建元素值 $text = $dom->createTextNode($val); $$key->appendchild($text); if (isset($attribute[$key])) { // 如果此字段存在相关属性需要设置 foreach ($attribute[$key] as $akey => $row) { // 创建属性节点 $$akey = $dom->createAttribute($akey); $$key->appendchild($$akey); // 创建属性值节点 $aval = $dom->createTextNode($row); $$akey->appendChild($aval); } } // end if } } // end if} // end function?>
<?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文档并设置XML版本和编码。。
$dom=new DomDocument('1.0', 'utf-8');
// 创建根节点
$article = $dom->createElement('article');
$dom->appendchild($article);
foreach ($data_array as $data) {
$item = $dom->createElement('item');
$article->appendchild($item);
create_item($dom, $item, $data, $attribute_array);
}
echo $dom->saveXML();
function create_item($dom, $item, $data, $attribute) {
if (is_array($data)) {
foreach ($data as $key => $val) {
// 创建元素
$$key = $dom->createElement($key);
$item->appendchild($$key);
// 创建元素值
$text = $dom->createTextNode($val);
$$key->appendchild($text);
if (isset($attribute[$key])) {
// 如果此字段存在相关属性需要设置
foreach ($attribute[$key] as $akey => $row) {
// 创建属性节点
$$akey = $dom->createAttribute($akey);
$$key->appendchild($$akey);
// 创建属性值节点
$aval = $dom->createTextNode($row);
$$akey->appendChild($aval);
}
} // end if
}
} // end if
} // end function
?>
0 0
- php 生成xml的方法
- PHP生成xml的方法
- PHP生成xml文件方法
- PHP中的生成XML文件的4种方法
- PHP生成xml文件的几种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP中的生成XML文件的4种方法
- PHP生成的XML文件
- PHP生成XML的类
- sitemap.xml生成方法(asp和php)
- 一个生成xml的方法
- XML生成XSD的方法
- 天线资识介绍
- Qt的json解析
- UVa 514 Rails
- Java web之统计站点被访问的次数
- SICP ex1-11 ex1-12 ex1-14
- PHP生成xml的方法
- Summer Training Team Selection (1) Problem A ACM Contest Scoring 水题
- centos编译libcurl库找不到ssl的问题
- 数组和vector
- XMG block的应用
- Python程序的执行原理
- Jenkins中使用POP3协议邮件配置
- 一起talk C栗子吧(第一百三十九回:C语言实例--文件操作:基于文件描述符二)
- Jquery中表单事件