【发布时间】:2013-03-06 05:27:18
【问题描述】:
我正在尝试将 XML 文件读入数组,但遇到了一些麻烦。到目前为止,我的代码如下所示:
$inst = new SimpleXMLElement($xml);
foreach( $inst->xpath("record[@id='" . $range . "']") as $u ) {
foreach($fields as $field) {
$results[$field] = $u->$field;
}
}
但是当我做print_r($results)时,输出的是这样的:
Array
(
[field1] => SimpleXMLElement Object
(
[0] => field1Data
)
[field2] => SimpleXMLElement Object
(
[0] => field2Data
)
[field3] => SimpleXMLElement Object
(
[0] => field3Data
)
)
如何直接从SimpleXMLElement Object 获取数据并将其存储在数组中而不是让它这样做?我尝试将其作为$u->$field[0] 之类的数组进行访问,但这也不起作用。
【问题讨论】:
-
simpleXml 没有给你一个数组。你可以通过迭代对象来构建一个数组。
-
尝试转换为字符串,即
$results[$field] = (string)$u->$field; -
将其转换为字符串有效,谢谢!