我有一些xml,我试图用PHP解析以下代码:
$data = simplexml_load_file($file_path)
foreach ($data as $obj):
//get author, date, etc
...
// get the paths
foreach ($obj->paths as $current):
$kind = $current['kind'];
$action = $current['action'];
$path = $current->path;
但由于某些原因我无法获得种类和动作属性......路径将起作用,但不是属性
xml看起来像这样:
<log>
<logentry
revision="xxxx">
<author>xyz</author>
<date>my date</date>
<paths>
<path
kind="file"
action="M">/myPath/woohoo</path>
<path.... *more paths*
....more logentries
由于
答案 0 :(得分:2)
使用$current->attributes()
获取它们。
答案 1 :(得分:0)
您正在使用正确的方法来访问属性(将其写为使用表示属性名称的字符串键访问数组),但是您在错误的元素上执行此操作:
$root = simplexml_load_file($path);
foreach ($root->logentry->paths as $current)
{
$path = $current->path;
$kind = $path['kind'];
$action = $path['action'];
}
如此示例所示,您需要访问$path
上的属性,而不是$current
上的属性。就这样。您可能刚刚过度查看,因为$path
变量已经存在于您的问题中。