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;
?>
生成的数据格式如下: