最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中將數(shù)組轉成XML格式的實現(xiàn)代碼

 更新時間:2011年08月08日 18:58:15   作者:  
網(wǎng)上找的一段代碼! 然后我自己根據(jù)php DOMDocument又寫了一段代碼,需要的朋友可以參考下。
下面是網(wǎng)上的
復制代碼 代碼如下:

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("<?xml version='1.0' encoding='utf-8'?><$rootNodeName />");
}
// 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();
}
}

下面是我編輯過的代碼
復制代碼 代碼如下:

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();
}

數(shù)組轉換成XML格式
復制代碼 代碼如下:

<?
$elementLevel = 0 ;
function array_Xml($array, $keys = '')
{
global $elementLevel;
if(!is_array($array))
{
if($keys == ''){
return $array;
}else{
return "\n<$keys>" . $array . "</$keys>";
}
}else{
foreach ($array as $key => $value)
{
$haveTag = true;
if (is_numeric($key))
{
$key = $keys;
$haveTag = false;
}
/**
* The first element
*/
if($elementLevel == 0 )
{
$startElement = "<$key>";
$endElement = "</$key>";
}
$text .= $startElement."\n";
/**
* Other elements
*/
if(!$haveTag)
{
$elementLevel++;
$text .= "<$key>" . array_Xml($value, $key). "</$key>\n";
}else{
$elementLevel++;
$text .= array_Xml($value, $key);
}
$text .= $endElement."\n";
}
}
return $text;
}
?>

函數(shù)描述及例子
復制代碼 代碼如下:

<?
$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);
?>

相關文章

  • 在WAMP環(huán)境下搭建ZendDebugger php調試工具的方法

    在WAMP環(huán)境下搭建ZendDebugger php調試工具的方法

    一直以來,寫php都是用Dreamweaver,有時候真是痛苦啊,出現(xiàn)一個bug,想看一些元素的值,必須用echo輸出來才知道,現(xiàn)在了解到一個斷點調試利器,php終于也能像java、.NET那樣斷點調試,這就是——ZendDebugger
    2011-07-07
  • PHP合并數(shù)組的2種方法小結

    PHP合并數(shù)組的2種方法小結

    大家都知道PHP中兩個數(shù)組合并可以使用+或者array_merge,但之間還是有區(qū)別的,而且這些區(qū)別如果了解不清楚項目中會要命的!這篇文章給加總結介紹了PHP合并數(shù)組的2種方法,有需要的朋友們可以參考借鑒,下面來一起學習學習吧。
    2016-11-11
  • php項目中類的自動加載實例講解

    php項目中類的自動加載實例講解

    在本篇文章里小編給大家整理的是關于php項目中類的自動加載的實例內容以及相關代碼,需要的朋友們學習下。
    2019-09-09
  • PHP 雜談《重構-改善既有代碼的設計》之二 對象之間搬移特性

    PHP 雜談《重構-改善既有代碼的設計》之二 對象之間搬移特性

    承接上文PHP 雜談《重構-改善既有代碼的設計》之 重新組織你的函數(shù) ,繼續(xù)說重構方面的內容
    2012-04-04
  • 在zblog首頁調用不同欄目的列表數(shù)據(jù)

    在zblog首頁調用不同欄目的列表數(shù)據(jù)

    這篇文章主要介紹了在zblog首頁調用不同欄目的列表數(shù)據(jù)的相關資料,需要的朋友可以參考下
    2022-08-08
  • php empty函數(shù) 使用說明

    php empty函數(shù) 使用說明

    對于我們做php開發(fā)的來說,empty函數(shù)(注,其實empty是一個語言結構而非函數(shù),這里說函數(shù)只是個人習慣)是再熟悉不過的一個函數(shù)了,查PHP的手冊描述如下
    2009-08-08
  • php查詢ip所在地的方法

    php查詢ip所在地的方法

    這篇文章主要介紹了php查詢ip所在地的方法,涉及對純真ip數(shù)據(jù)庫的實用,是非常常見的實用技巧,需要的朋友可以參考下
    2014-12-12
  • 通用PHP動態(tài)生成靜態(tài)HTML網(wǎng)頁的代碼

    通用PHP動態(tài)生成靜態(tài)HTML網(wǎng)頁的代碼

    最近研究PHP的一些開發(fā)技術,發(fā)現(xiàn)PHP有很多ASP所沒有的優(yōu)秀功能,可以完成一些以前無法完成的功能,例如動態(tài)生成HTML靜態(tài)頁面,以減少服務器CPU的負載,提高用戶訪問的速度。
    2010-03-03
  • php遞歸json類實例

    php遞歸json類實例

    這篇文章主要介紹了php遞歸json類的實現(xiàn)方法,可以實現(xiàn)對索引數(shù)組及數(shù)字數(shù)組的解析,進而實現(xiàn)遞歸數(shù)組返回json字符串的功能,需要的朋友可以參考下
    2014-12-12
  • file_get_contents獲取不到網(wǎng)頁內容的解決方法

    file_get_contents獲取不到網(wǎng)頁內容的解決方法

    file_get_contents獲取不到網(wǎng)頁內容的解決方法,需要的朋友可以參考一下
    2013-03-03

最新評論

长寿区| 甘南县| 安远县| 凤城市| 岚皋县| 榆林市| 澜沧| 姜堰市| 安阳市| 韩城市| 加查县| 鄂托克旗| 稻城县| 剑阁县| 西林县| 泰宁县| 汽车| 定兴县| 宁南县| 湖州市| 肥西县| 嘉荫县| 积石山| 衡东县| 永年县| 沅陵县| 东光县| 黄冈市| 策勒县| 饶河县| 天柱县| 南平市| 板桥市| 洞口县| 富平县| 乐陵市| 香格里拉县| 龙海市| 新和县| 天镇县| 桃江县|