simpleXML object里面不能读出数据怎么办?

WBOY
發布: 2016-06-23 14:01:47
原創
835 人瀏覽過

本帖最后由 joebnb 于 2014-02-26 11:01:22 编辑

class just{	function xmlInclude($data){		$xml = simplexml_load_file(dirname(__FILE__).'/jump.xml');		foreach($xml->Keyword->xpath("//*[data='$data']") as $item){		  return $item;		}	}}$TR = new just;$cr = $TR->xmlInclude(查询);print_r($cr);$cr=(array)$cr;echo '
';print_r($cr);
登入後複製

写了一个simplexml解析,print_r发现它出来的是simpleXML object不是数组
SimpleXMLElement Object ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) ) Array ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) )
登入後複製

里面的数值怎么提取,百度上的答案都是转换为数组,我也试着这么做了
可是出来后
echo $cr[0].$cr[0][0].$cr[1][0]
登入後複製

都不能获取到数值并提示:
Notice: Undefined offset: 0 in D:\Program files\WEB Edit\phpLight2013\WWW\Core\xml.php on line 23
Notice: Undefined offset: 0 in D:\Program files\WEB Edit\phpLight2013\WWW\Core\xml.php on line 23

请问怎么样才能从simplexml obj里直接取值?像这种数组中还有数组的情况如何取值?


回复讨论(解决方案)

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];
登入後複製
登入後複製

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];
登入後複製
登入後複製

谢谢你!我还想知道如果是数组怎么办?我是新手,所以遇到的东西都想弄明白

$cr = $TR->xmlInclude(查询);
$cr=(array)$cr;
echo $cr['data'];
echo $cr['page'][1];

注意:$cr=(array)$cr; 只是将第一层对象转换成了数组

谢谢版主!~~

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!