我有一些XML可以使用,类似这样:
<admin_list>
<admin>
<name>user1</name>
<authentication_source>Local</authentication_source>
</admin>
<admin>
<name>user2</name>
<authentication_source>Local</authentication_source>
</admin>
</admin_list>
我似乎无法检索特定的管理员。以下内容:
$admin = "user1";
foreach ($subxml as $child) {
if ($child->admin->name == $admin) {
var_dump($child);
}
}
返回包含user1和user2的数组。如何输出仅选定用户的XML。 (在这种情况下是user1)所以我想要的输出是:
<admin>
<name>user1</name>
<authentication_source>Local</authentication_source>
</admin>
谢谢!
答案 0 :(得分:4)
使用XPATH可能是一个好主意
$query = $simple_xml_resource->xpath('/admin_list/admin[name = "' . $name . '"]');
if(count($query) == 0)
{
//no users found
}
else
{
$user = $query[0];
echo $user->asXML(); //outputs the XML
}