具有特定属性的php getElementsByTagName

And*_*ndy 0 php xml dom

我认为这会得到第一个叫做的元素 <gallery>

$gallery = $objDOM->getElementsByTagName('gallery')->item(0);
Run Code Online (Sandbox Code Playgroud)

我想要的 <gallery name="Third">

我想我需要的东西相当于:

$gallery = $objDOM->getElementsByTagName('gallery[@name="Third"]')->item;
Run Code Online (Sandbox Code Playgroud)

谢谢,安迪

Gor*_*don 5

这只适用于DOMXPath,例如

$xp    = new DOMXPath($yourDOMDocument);
$nodes = $xp->query('//gallery[@name="Third"]');
Run Code Online (Sandbox Code Playgroud)

或者在调用getElementsByTagNamewith 之后迭代节点列表

foreach ($objDOM->getElementsByTagName('gallery') as $gallery) {
    if($gallery->getAttribute('name') === 'Third') {
         // do something
    }
}
Run Code Online (Sandbox Code Playgroud)