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

WBOY
Freigeben: 2016-06-23 14:01:47
Original
930 Leute haben es durchsucht

本帖最后由 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 '<br>';print_r($cr);
Nach dem Login kopieren

写了一个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 ) )
Nach dem Login kopieren

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

都不能获取到数值并提示:
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];
Nach dem Login kopieren
Nach dem Login kopieren

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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

谢谢版主!~~

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage