$drivetracker = simplexml_load_file('geot_5980.xml');
$data = array();
foreach ($drivetracker->plays->qtr as $qtr):
foreach ($qtr->play as $myplay):
$hasball = $myplay['hasball'];
$play = $myplay['spot'];
$down = $myplay['down'];
$togo = $myplay['togo'];
$type = $myplay['type'];
$text = $myplay['text'];
array_push($data, array("text" => $text,
"spot" => $play,
"ball" => $hasball,
"togo" => $togo,
"type" => $type,
"drive"=> $drive)
);
endforeach;
endforeach;
print_r($data);
我明白了......
[16] => Array
(
[text] => SimpleXMLElement Object
(
[0] => Tanner, C. kick attempt good.
)
[spot] => SimpleXMLElement Object
(
[0] => DU03
)
[ball] => SimpleXMLElement Object
(
[0] => GT
)
[togo] => SimpleXMLElement Object
(
[0] => 0
)
[type] => SimpleXMLElement Object
(
[0] => X
)
[drive] => 7
)
[17] => Array
(
[text] => SimpleXMLElement Object
(
[0] => Tanner, C. kickoff 51 yards to the DU14, Butler, L return 16 yards to the DU30 (Noble, D.).
)
[spot] => SimpleXMLElement Object
(
[0] => GT35
)
[ball] => SimpleXMLElement Object
(
[0] => GT
)
[togo] => SimpleXMLElement Object
(
[0] => 0
)
[type] => SimpleXMLElement Object
(
[0] => K
)
[drive] => 7
)
)
我的问题是......我如何制作它而不是
[text] => SimpleXMLElement Object
(
[0] => Tanner, C. kick attempt good.
)
我得到了
[text] = > "Tanner, C. kick attempt good."
答案 0 :(得分:4)
而不是:
$hasball = $myplay['hasball'];
$play = $myplay['spot'];
$down = $myplay['down'];
$togo = $myplay['togo'];
$type = $myplay['type'];
$text = $myplay['text'];
您想致电:
$hasball = (string) $myplay['hasball'];
$play = (string) $myplay['spot'];
$down = (string) $myplay['down'];
$togo = (string) $myplay['togo'];
$type = (string) $myplay['type'];
$text = (string) $myplay['text'];
通过使用(string)
进行转换,它将以XML形式返回XML标记的内容。
答案 1 :(得分:1)
如果您将SimpleXMLElement
类型转换为字符串,您将获得其值。
所以这应该有效:
array_push($data, array(
"text" => (string)$text,
"spot" => (string)$play,
"ball" => (string)$hasball,
"togo" => (string)$togo,
"type" => (string)$type,
"drive"=> (string)$drive)
);