1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP中将数组转成XML格式的实现代码

PHP中将数组转成XML格式的实现代码

时间:2022-11-01 14:39:04

相关推荐

PHP中将数组转成XML格式的实现代码

php教程|php手册

PHP,中将,数组,转成,XML,格式,实现,代码,下面,是,网上,复制,代码,如下,class,ArrayTo

php教程-php手册

下面是网上的

视频点播实现收费源码,vscode真机测试,ubuntu升级root,群晖安装tomcat,有偿爬虫,威客 php源码,金服云招聘seo,公司网站asp源码下载,免费网页模板下载工具lzw

复制代码 代码如下:

易支付源码可对接官方,ubuntu 终端还原系统,tomcat7怎么做成服务,不会编程爬虫,win10部署php项目,黄陂seo报价lzw

class ArrayToXML

{

/**

* The main function for converting to an XML document.

* Pass in a multi dimensional array and this recrusively loops through and builds up an XML document.

*

* @param array $data

* @param string $rootNodeName – what you want the root node to be – defaultsto data.

* @param SimpleXMLElement $xml – should only be used recursively

* @return string XML

*/

public static function toXml($data, $rootNodeName = ‘data’, $xml=null)

{

// turn off compatibility mode as simple xml throws a wobbly if you don’t.

if (ini_get(‘zend.ze1_compatibility_mode’) == 1)

{

ini_set (‘zend.ze1_compatibility_mode’, 0);

}

if ($xml == null)

{

$xml = simplexml_load_string(“”);

}

// loop through the data passed in.

foreach($data as $key => $value)

{

// no numeric keys in our xml please!

if (is_numeric($key))

{

// make string key…

$key = “unknownNode_”. (string) $key;

}

// replace anything not alpha numeric

$key = preg_replace(‘/[^a-z]/i’, ”, $key);

// if there is another array found recrusively call this function

if (is_array($value))

{

$node = $xml->addChild($key);

// recrusive call.

ArrayToXML::toXml($value, $rootNodeName, $node);

}

else

{

// add single node.

$value = htmlentities($value);

$xml->addChild($key,$value);

}

}

// pass back as string. or simple xml object if you want!

return $xml->asXML();

}

}

asp 产品 管理 源码,Ubuntu键盘未捕获,tomcat9项目启动顺序,爬虫在家怎么赚钱,php400页面编写代码,江西企业seolzw

下面是我编辑过的代码

复制代码 代码如下:

function arrtoxml($arr,$dom=0,$item=0){

if (!$dom){

$dom = new DOMDocument(“1.0”);

}

if(!$item){

$item = $dom->createElement(“root”);

$dom->appendChild($item);

}

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

$itemx = $dom->createElement(is_string($key)?$key:”item”);

$item->appendChild($itemx);

if (!is_array($val)){

$text = $dom->createTextNode($val);

$itemx->appendChild($text);

}else {

arrtoxml($val,$dom,$itemx);

}

}

return $dom->saveXML();

}

数组转换成XML格式

复制代码 代码如下:

<?

$elementLevel = 0 ;

function array_Xml($array, $keys = ”)

{

global $elementLevel;

if(!is_array($array))

{

if($keys == ”){

return $array;

}else{

return “\n” . $array . “”;

}

}else{

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

{

$haveTag = true;

if (is_numeric($key))

{

$key = $keys;

$haveTag = false;

}

/**

* The first element

*/

if($elementLevel == 0 )

{

$startElement = “”;

$endElement = “”;

}

$text .= $startElement.”\n”;

/**

* Other elements

*/

if(!$haveTag)

{

$elementLevel++;

$text .= “” . array_Xml($value, $key). “\n”;

}else{

$elementLevel++;

$text .= array_Xml($value, $key);

}

$text .= $endElement.”\n”;

}

}

return $text;

}

?>

函数描述及例子

复制代码 代码如下:

<?

$array = array(

“employees” => array(

“employee” => array(

array(

“name” => “name one”,

“position” => “position one”

),

array(

“name” => “name two”,

“position” => “position two”

),

array(

“name” => “name three”,

“position” => “position three”

)

)

)

);

echo array_Xml($array);

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。