生成下列XML字符串
XML代码
复制代码代码如下所示:
title1
内容1
2009-10-11
题目二
内容
2009-11-11
方法直接生成字符串}
使用纯PHP代码生成字符串,字符串以XML作为
后缀写入
文件。这是生成XML的最原始方法,但它是有效的!
复制代码代码如下所示:
< PHP
data_array美元=阵列(
(阵列
标题= > 'title1,
内容= > 'content1,
出版日期= > '2009-10-11,
),
(阵列
标题= > 'title2,
内容= > 'content2,
出版日期= > '2009-11-11,
)
);
title_size = 1美元;
$;
$;
foreach(data_array美元美元数据){
XML = create_item美元(美元数据{标题},title_size美元,美元数据{ 'content' },{ 'pubdate美元数据'});
}
$;
xml;
创建单个xml
功能create_item(title_data美元,title_size美元美元美元,content_data,pubdate_data)
{
$项目;
$项=title_data美元。;
$item = $content_data 。;
$项=pubdate_data美元。;
$项目;
返回$项;
}
>
方法2:{ DOMDocument }
使用DOMDocument生成XML文件,使用createElement方法创建节点,创建使用方法的
作用是:
文本内容,添加子节点,使用appendChild方法创建
属性,使用CreateAttribute方法。
复制代码代码如下所示:
< PHP
data_array美元=阵列(
(阵列
标题= > 'title1,
内容= > 'content1,
出版日期= > '2009-10-11,
),
(阵列
标题= > 'title2,
内容= > 'content2,
出版日期= > '2009-11-11,
)
);
数组属性
attribute_array美元=阵列(
(标题= >阵列
大小= 1
)
);
创建一个XML
文档并
设置XML版本和编码。
$ DOM =新DOMDocument('1.0 ','utf-8);
创建根节点
第=美元美元DOM -> createElement('article);
DOM美元-> appendChild(合篇);
foreach(data_array美元美元数据){
项目=美元美元DOM -> createElement('Item');
$第-> appendChild($项);
create_item($ DOM,美元美元美元项目数据,attribute_array);
}
echo DOM -> savexml();
功能create_item($ DOM,美元美元美元项目数据、属性){
如果(is_array($数据)){
foreach(美元美元美元数据关键= val){
创建元素
美元美元关键= DOM -> createElement($键);
$项-> appendChild($键);
创建值
文本=美元美元DOM -> createTextNode(美元值);
美元关键-> appendChild($文本);
如果(isset($美元关键属性{ })){
如果这个字段与属性集合相关
foreach($属性{ }美元美元美元关键关键=行){
创建一个属性节点
美元美元的关键= DOM -> CreateAttribute(合一);
美元关键-> appendChild($关键);
创建属性值节点
为保证= $ DOM -> createTextNode(合排);
美元关键-> appendChild(美元担保);
}
如果…
}
如果…
结束
函数 >
方法3:{ XmlWriter }
XML文件是使用XmlWriter类创建的,这是PHP 5.1.2.in加入后有效,它可以输出多种编码的XML,但
输入只能是UTF-8
复制代码代码如下所示:
< PHP
data_array美元=阵列(
(阵列
标题= > 'title1,
内容= > 'content1,
出版日期= > '2009-10-11,
),
(阵列
标题= > 'title2,
内容= > 'content2,
出版日期= > '2009-11-11,
)
);
数组属性
attribute_array美元=阵列(
(标题= >阵列
大小= 1
)
);
XML =新的XmlWriter(美元);
为XML -> openuri(: / / PHP输出);
输出,也可以设置为XML文件
地址,直接进入输出文件。
为XML -> setindentstring('');
为XML -> setindent(真);
为XML -> StartDocument('1.0 ','utf-8);
创建文件
根节点
为XML -> startElement('article);
foreach(data_array美元美元数据){
为XML -> startElement('Item');
如果(is_array($数据)){
foreach(美元美元美元关键=数据行){
为XML -> startElement($键);
如果(isset($ attribute_array { $关键})is_array($ attribute_array { $关键}))
{
foreach($ attribute_array { }美元美元美元关键关键= Aval){
设置属性值
XML -> writeattribute美元(美元的关键,为担保);
}
}
XML文本($行);设置内容
($ XML -> EndElement); / /美元关键
}
}
($ XML -> EndElement); / /项目
}
($ XML -> EndElement); / /文
为XML ->专件();
xml刷新();
>
方法4:{ SimpleXML }
使用SimpleXML创建XML文件
复制代码代码如下所示:
< PHP
data_array美元=阵列(
(阵列
标题= > 'title1,
内容= > 'content1,
出版日期= > '2009-10-11,
),
(阵列
标题= > 'title2,
内容= > 'content2,
出版日期= > '2009-11-11,
)
);
数组属性
attribute_array美元=阵列(
(标题= >阵列
大小= 1
)
);
$ = < XML
XML;
美元($字符串)simplexml_load_string XML =;
foreach(data_array美元美元数据){
项目=美元美元XML -> addChild('Item');
如果(is_array($数据)){
foreach(美元美元美元关键=数据行){
美元美元的项目节点= -> addChild($美元关键,行);
如果(isset($ attribute_array { $关键})is_array($ attribute_array { $关键}))
{
foreach($ attribute_array { }美元美元美元关键关键= Aval){
设置属性值
节点-> addattribute美元(美元的关键,美元的担保);
}
}
}
}
}
echo $ XML XML()>;
>