我认为这会得到第一个名为<gallery>
$gallery = $objDOM->getElementsByTagName('gallery')->item(0);
我正试图获得<gallery name="Third">
我想我需要的东西相当于:
$gallery = $objDOM->getElementsByTagName('gallery[@name="Third"]')->item;
谢谢,安迪
答案 0 :(得分:5)
这仅适用于DOMXPath,例如
$xp = new DOMXPath($yourDOMDocument);
$nodes = $xp->query('//gallery[@name="Third"]');
或在使用
调用getElementsByTagName
后迭代节点列表
foreach ($objDOM->getElementsByTagName('gallery') as $gallery) {
if($gallery->getAttribute('name') === 'Third') {
// do something
}
}
答案 1 :(得分:1)
顾名思义 getElementsByTagName()只接受标记名称。尝试使用XPath
$xpath = new DOMXPath ($objDOM);
$nodeList = $xpath->query('gallery[@name="Third"]');
$gallery = $nodeList->item(0);
不要测试它,因此可能存在错误,错别字或其他内容。