函数名:DOMNamedNodeMap::item()
函数说明:该方法返回指定索引位置的节点。
用法: DOMNamedNodeMap::item(int $index): DOMNode|null
参数:
- $index:要获取节点的索引位置。
返回值:
- DOMNode|null:返回指定索引位置的节点,如果找不到节点,则返回 null。
示例:
$xmlString = '<root>
<element1 attr="value1">Content 1</element1>
<element2 attr="value2">Content 2</element2>
<element3 attr="value3">Content 3</element3>
</root>';
$dom = new DOMDocument();
$dom->loadXML($xmlString);
$elementList = $dom->getElementsByTagName('element');
foreach ($elementList as $index => $element) {
$attrNode = $element->attributes->item(0); // 获取第一个属性节点
if ($attrNode instanceof DOMAttr) {
echo "Element {$index} attribute: {$attrNode->nodeName} = {$attrNode->nodeValue}\n";
}
}
输出结果:
Element 0 attribute: attr = value1
Element 1 attribute: attr = value2
Element 2 attribute: attr = value3
在上面的示例中,我们创建了一个 DOMDocument 对象,并加载了一个包含多个元素节点的 XML 字符串。然后,我们使用 getElementsByTagName() 方法获取所有名为 "element" 的节点,并使用 foreach 循环遍历每个节点。在循环中,我们通过调用 attributes 属性来获取节点的属性列表。接着,我们使用 item() 方法传入索引位置来获取每个节点的第一个属性节点,并打印出其节点名称和节点值。