Home  >  Article  >  Backend Development  >  Explain how PHP generates xml source code_PHP tutorial

Explain how PHP generates xml source code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:41:45821browse

PHP generates xml just like a tree, adding nodes one by one, you can add multiple child nodes under a parent node,
function madexml()
{
                                                                                                                                             ->modelCmsObj->getTemplate(2007); $arrTemp = explode("#",$strTempInfo);
array_shift($arrTemp);
$arrContents = array();
foreach($arrTemp as $k=>$v)
                                                                          
$objDom = new DOMDocument("1.0");
header("Content-Type: text/plain");
//Add elements and text nodes
$root = $objDom-> ;createElement("recommend"); $objDom->appendChild($root); foreach($arrContents as $k=>$v) item = $objDom ->createElement("entry"); $root->appendChild($item); $nextitem1 = $objDom->createElement("simgurl");           $nextitem2 = $objDom ->createElement("imgurl"); $nextitem3 = $objDom->createElement("fileurl");
$item->appendChild($nextitem1);                $item-> appendChild($nextitem2);
$item->appendChild($nextitem3); $text = $objDom-> ;createTextNode($v[1]); $text2 = $objDom->createTextNode($v[2]); $nextitem2->appendChild($text1);            $nextitem3- >appendChild($text2);
$nextitem1->appendChild($text);


simplexml_load_string把xml串转化为字符串
    $string = <<       
      
    Forty What?  
    Joe  
    Jane  
      
    I know thats the answer -- but whats the question?  
      
    
 
    XML;  
    $xml = simplexml_load_string($string);  
    var_dump($xml);  
?>   

   This script will display:   
   SimpleXMLElement Object  
     (  
     [title] => Forty What?  
     [from] => Joe  
     [to] => Jane  
     [body] =>  
      I know thats the answer -- but whats the question?  
   )  
     

 如果想把xml转换为数组,先转换为字符串含有键值的字符串,然后再进行循环就可以成为数组了,
    /**
* Convert xml to array
* @param unknown_type $xml
*/
    private function xml_to_array($xml)  
    {  
              $array = (array)(simplexml_load_string($xml,SimpleXMLElement, LIBXML_NOCDATA));  
              foreach ($array as $key=>$item){  
                $array[$key]  = $this->struct_to_array((array)$item);  
             }  
             return $array;  
   }  
    
   private function struct_to_array($item) {  
             if(!is_string($item)) {  
               $item = (array)$item;  
               foreach ($item as $key=>$val){  
                 $item[$key]  =  self::struct_to_array($val);  
               }  
             }  
             return $item;  
   }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486096.htmlTechArticlephp生成xml就像树一样,逐个添加节点,可以在一个父节点下添加多个子节点, function madexml() { //获取模板信息 $strTempInfo = $this-modelCmsObj-get...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn