• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php生成xml和转换[源码]

php 搞代码 3年前 (2022-01-25) 13次浏览 已收录 0个评论

 php生成xml就像树一样,逐个添加节点,可以在一个父节点下添加多个子节点:

function madexml(){      //获取模板信息      $strTempInfo = $this->modelCmsObj->getTemplate('2007');      $arrTemp = explode("#",$strTempInfo);      array_shift($arrTemp);      $arrContents = array();      foreach($arrTemp as $k=>$v)      {          $arrContents[$k]=explode(",",$v);      }    //解析为xml文件      $objDom = new DOMDocument("1.0");      header("Content-Type: text/plain");       //添加元素和文本节点      $root = $objDom->createElement("recommend");      $objDom->appendChild($root);      foreach($arrContents as $k=>$v)      {  		$item = $objDom->createElement("entry");  		$root->appendChild($item);  		$nextitem1 = $objDom->createElement("simgurl");<b>6本文来源gao@dai!ma.com搞$代^码!网7</b><pre>搞gaodaima代码

$nextitem2 = $objDom->createElement(“imgurl”); $nextitem3 = $objDom->createElement(“fileurl”); $item->appendChild($nextitem1); $item->appendChild($nextitem2); $item->appendChild($nextitem3); $text1 = $objDom->createTextNode($v[0]); $text = $objDom->createTextNode($v[1]); $text2 = $objDom->createTextNode($v[2]); $nextitem2->appendChild($text1); $nextitem3->appendChild($text2); $nextitem1->appendChild($text); } echo $objDom->saveXML(); }

simplexml_load_string把xml串转化为字符串

$string = <<     <title>Forty What?</title>  Joe  Jane  <body>    I know that's the answer -- but what's the question?      XML;  $xml = simplexml_load_string($string);  var_dump($xml); 

以上代码将输出:

SimpleXMLElement Object  (    [title] => Forty What?    [from] => Joe    [to] => Jane    [body] =>     I know that's the answer -- but what's the question?  )  

如果想把xml转换为数组,先转换为字符串含有键值的字符串,再进行循环就可以成为数组:

/**   * xml转换为数组   * @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;  } 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php生成xml和转换[源码]
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址