如何获取特定节点中的所有属性值

时间:2014-05-01 05:02:06

标签: php dom xpath

这是简单的HTML代码

<div>
    <img src="http://myImg.com/img/dog_0" orginal="http://myImg.com/dog_a0" alternate="http://myImg.com/img/dog_" />
<div>

如何通过xpath查询选择特定标记(img)中的所有属性(包括值)?

我试过了

$attr = $xpath->query('//div/img/@value');
print_r ($attr);  // DOMNodeList Object ( ) 

我希望返回src="http://myImg.com/img/dog_0" orginal="http://myImg.com/dog_a0" alternate="http://myImg.com/img/dog_"

1 个答案:

答案 0 :(得分:0)

因此,假设您想要获取<img>元素的所有<div>元素的所有属性...

$images = $xpath->query('//div/img');
foreach ($images as $image) {
    foreach ($image->attributes as $attr) {
        echo $attr->name, ' = ', $attr->value, PHP_EOL;
    }
}

演示 - http://ideone.com/gf6sud