cdataxmlphp
⑴ xml文件里可以放php的代碼嗎!!
你是問用php模板生成xml,還是問xml的value中保存php代碼?
兩個都可以實現,前者和普通生成html模板是一樣的,注意content-type就行了。
後者可以用<![CDATA[" 開始,由 "]]>結束包裹代碼,只要裡面不出現「]]>」就可以了。
⑵ 使用php循環出xml中多個相同重復的標簽
重復的 xml 元素節點可以用 foreach 循環取出重復元素。
示例:
// $xmlData = file_get_contents('items.xml');
$xmlElement=simplexml_load_string($xmlData, 'SimpleXMLElement', 'LIBXML_NOCDATA');
$elements = $xmlElement->CustAcctId;
foreach ($elements as $element) {
var_mp($element);
}
提示:使用simplexml_load_string($xmlString, 'SimpleXMLElement', LIBXML_NOCDATA) 解析 xml 字元串,如果是 xml 文件,可以 file_get_contents 讀取文件。
⑶ php 如何獲取XML 並轉成2維數組
<?php
/**
* 功能:解析xml數據轉換成二維數組
*
* @param string $dataXml
* @return array
*/
public static function getXmlData ( $strXml ) {
$pos = strpos($strXml, 'xml');
if ($pos) {
$xmlCode =simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
$arrayCode=self::get_object_vars_final($xmlCode);
return $arrayCode ;
} else {
return '';
}
}
?>
⑷ php 解析xml
親手打的,經過測試的,採納吧
<?php
header("Content-type: text/html; charset=utf-8");
$xml = '<?xml version="1.0" encoding="utf-8"?><rss version="5.0"><list page="1" pagecount="1" pagesize="20" recordcount="1"><video><last>2014-7-11 12:08:07</last><id>19393</id><tid>7</tid><name><![CDATA[越軌追擊]]></name><type>愛情</type><pic>http://img.jijizy.com/upload/vod/2014-07-11/20147111274361461.jpg</pic><lang>英語</lang><area>歐美</area><year>2005</year><state>0</state><note><![CDATA[HD]]></note><actor><![CDATA[克里夫·歐文 詹妮弗·安妮斯頓]]></actor><director><![CDATA[米凱爾·哈弗斯特羅姆]]></director><dl><dd flag="jjvod"><![CDATA[HD$jjhd://20000||越軌追擊HD中字1280高清.rmvb$jjvod]]></dd></dl><des><![CDATA[他又無法求助於警察,他現在必須找到露辛達,依靠兩個人的力量奪回曾經寧靜的生活。]]></des></video></list></rss>';
$result = simplexml_load_string($xml);
//var_mp($result); //可以列印看看結果如何
$result = object_to_array($result);
//print_r($result['list']['video']);exit;
foreach($result['list']['video'] as $key=>$v){
echo $key."=".$v."\n";
}
function object_to_array($obj){
$arr = array();
$_arr = is_object($obj)? get_object_vars($obj) :$obj;
foreach ($_arr as $key => $val){
$val=(is_array($val)) || is_object($val) ? object_to_array($val) :$val;
$arr[$key] = $val;
}
return $arr;
}
?>
⑸ php輸出xml內容
PHP生成XML的方法很多,這里演示最基本,最簡單的字元串構造法。就是使用字元串構造或者拼接成xml數據格式,然後輸出或者生成xml文件。
<?php
$data=array(
array(
'title'=>'',
'country'=>'china',
'name'=>'網路',
),
array(
'title'=>'google',
'country'=>'usa',
'name'=>'谷歌',
)
);
//構造xml數據格式
$xml="<?xmlversion="1.0"encoding="utf-8"?> ";
$xml.="<data> ";
foreach($dataas$itm){
//循環構造xml單項
$item="<item> ";
$item.="<title>".$itm['title']."</title> ";
$item.="<country>".$itm['country']."</country> ";
$item.="<name>".$itm['name']."</name> ";
$item.="</item> ";
$xml.=$item;
}
$xml.="</data> ";
//輸出xml數據
echo$xml;
?>
生成的數據格式如下: