成都创新互联网站制作重庆分公司

php批量数据转xml php批量替换文件内容

在PHP中将数组转换为XML格式

php数组格式:

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了鼓楼免费建站欢迎大家使用!

Array to XML:

通过使用PHP的扩展SimpleXML,我们将uses_array转换为xml格式。

保存成功的XML文件:

The users.xml file contains the following xml.

附注:

Insert XML Into Databse

If you want to save the XML into the database, then replace the $xml_file variable line with the following code line. Now you can insert $xml_file variable into the database.

多维PHP数组怎么转换成xml格式的数据

public function arrayToXml($arr){

$xml = "xml";

foreach ($arr as $key=$val){

if(is_array($val)){

$xml.="".$key."".arrayToXml($val)."/".$key."";

}else{

if (is_numeric($val)){

$xml.="".$key."".$val."/".$key."";

}else{

$xml.="".$key."![CDATA[".$val."]]/".$key."";

}

}

}

$xml.="/xml";

return $xml;

}

PHP中数组转换为XML格式

最近公司要做一个API接口 输出格式要有JSON与XML格式 在PHP中 输入JSON直接json_encode就可以 但输出XML没有提供函数 于是决定自己写一个

?php

/**

* 数组转XML类库

*

* @filesource ArrayToXML php

* @author  genolf

* @version / /

*

* 使用说明

*  echo ArrayToXml::parse($array root );

*/

class ArrayToXML {

//文档对象

private static $doc = NULL;

//版本号

private static $version = ;

/**

* 初始化文档版本及编码

*

* @param string $version   版本号

* @param string $encoding  XML编码

*/

public static function init($version $encoding) {

self::$doc = new DomDocument($version $encoding);

self::$doc formatOutput = true;

}

/**

* 转换数组到XML

*

* @param array $array      要转换的数组

* @param string $rootName  要节点名称

* @param string $version   版本号

* @param string $encoding  XML编码

*

* @return string

*/

public static function parse($array $rootName = root $version = $encoding = UTF ) {

self::init($version $encoding);

//转换

$node = self::convert($array $rootName);

self::$doc appendChild($node);

return self::$doc saveXML();

}

/**

* 递归转换

*

* @param array $array      数组

* @param string $nodeName  节点名称

*

* @return object (DOMElement)

*/

private static function convert($array $nodeName) {

if (!is_array($array)) return false;

//创建父节点

$node = self::createNode($nodeName);

//循环数组

foreach ($array as $key = $value) {

$element = self::createNode($key);

//如果不是数组 则创建节点的值

if (!is_array($value)) {

$element appendChild(self::createValue($value));

$node appendChild($element);

} else {

//如果是数组 则递归

$node appendChild(self::convert($value $key $element));

}

}

return $node;

}

private static function createNode($name) {

$node = NULL;

//如果是字符串 则创建节点

if (!is_numeric($name)) {

$node = self::$doc createElement($name);

} else {

//如果是数字 则创建默认item节点

$node = self::$doc createElement( item );

}

return $node;

}

/**

* 创建文本节点

*

* @param string || bool || integer $value

*

* @return object (DOMText || DOMCDATASection );

*/

private static function createValue($value) {

$textNode = NULL;

//如果是bool型 则转换为字符串

if (true === $value || false === $value) {

$textNode = self::$doc createTextNode($value ? true : false );

} else {

//如果含有HTML标签 则创建CDATA节点

if (strpos($value ) ) {

$textNode = self::$doc createCDATASection($value);

} else {

$textNode = self::$doc createTextNode($value);

}

}

return $textNode;

}

lishixinzhi/Article/program/PHP/201311/20849


文章题目:php批量数据转xml php批量替换文件内容
本文地址:http://cxhlcq.com/article/ddjsded.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部