【发布时间】:2014-07-29 21:15:57
【问题描述】:
我的数据库中有一个 XML 对象结果,其中包含设置。
我正在尝试访问特定 settingName 的值:
SimpleXMLElement Object
(
[settings] => Array
(
[0] => SimpleXMLElement Object
(
[settingName] => Test
[settingDescription] => Testing
[requireValue] => 1
[localeID] => 14
[status] => 1
[value] => 66
[settingID] => 5
)
[1] => SimpleXMLElement Object
(
[settingName] => Home Page Stats
[settingDescription] => Show the Top 5 Teammate / Teamleader stats?
[requireValue] => 0
[localeID] => 14
[status] => 0
[value] => SimpleXMLElement Object
(
)
[settingID] => 3
)
)
)
我尝试使用 xPath 并且到目前为止:
$value = $fetchSettings->xpath("//settingName[text()='Test']/../value");
返回:
Array ( [0] => SimpleXMLElement Object ( [0] => 66 ) )
如何获取实际值而不仅仅是另一个数组/对象?
对于上面的示例,最终结果将只是 66。
【问题讨论】:
-
使用不错的 PHP 版本:
$value = (string) reset($fetchSettings->xpath("//settingName[text()='Test']/../value"));- 如果没有结果,将给出一个零长度的字符串,否则将始终返回第一个结果节点(按文档顺序)。