我有一个格式类似的XML:
<users>
<user>
<name>Mac</name>
<category>4</category>
</user>
<user>
<name>Simon</name>
<category>3</category>
</user>
<user>
<name>Jim</name>
<category>4</category>
</user>
</users>
我想做的是通过特定类别中的用户进行交互并返回他们的名称。我一直在使用simplexml做一些工作,但我一直无法弄清楚如何根据它的兄弟姐妹中的文本选择元素节点。
foreach ($users->user as $user) {
echo (string)$user->name;
}
提前感谢
使用Xpath:
$users = simplexml_load_string($xml);
foreach($users->xpath('//user[category = 4]') as $user) {
echo (string) $user->name, "'n";
}
输出:Mac
Jim
btw这就是DOM的样子:
$xpath = new DOMXpath(DOMDocument::loadXml($xml));
foreach ($xpath->evaluate('//user[category = 4]') as $user) {
echo $xpath->evaluate('string(name)', $user), "'n";
}