您可以使用xpath
表达式来完成工作。它类似于 XML 的 SQL 查询。
$results = $xml->xpath("//notify[@type='post']/@name");
假设 XML in $xml
,表达式如下
select all notify nodes,
where their type-attribute is post,
give back the name-attribute.
$results
将是一个数组,我的代码示例是为simplexml
. 不过,您可以使用相同xpath-expression
的方法DOM
。
这是完整的代码:
$x = <<<XML
<root>
<notify type="post" name="Max" />
<notify type="get" name="Lisa" />
<notify type="post" name="William" />
</root>
XML;
$xml = simplexml_load_string($x);
$results = $xml->xpath("//notify[@type='post']/@name");
foreach ($results as $result) echo $result . "<br />";
输出:
Max
William
看到它工作:http ://codepad.viper-7.com/eO29FK