DOMElement::getElementsByTagName()
(PHP 5, PHP 7)
Gets elements by tagname
说明
public DOMElement::getElementsByTagName(string $name): DOMNodeList
This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag$name, in the order in which they are encountered in a preorder traversal of this element tree.
参数
- $name
The tag name. Use*to return all elements within the element tree.
返回值
This function returns a new instance of the class DOMNodeList of all matched elements.
参见
- DOMElement::getElementsByTagNameNS() Get elements by namespaceURI and localName
Be aware that this function returns all descendants, not just immediate children.
Note that even though getElementsByTagName returns a NodeList which is defined as a list of DOMNodes, you're actually getting a list of DOMElements. That allows to call getElementsByTagName on each of the results.
$tables = $doc->getElementsByTagName('table');
foreach ($tables as $table) {
$trs = $table->getElementsByTagName('tr');
// etc...
}A simple function that uses this method to print the nodes it finds in an xml document. Improvements welcomed.
<?php
function printTags($tag){
$node = $this->doc->getElementsByTagName($tag);
for($c = 0; $c<$node->length; $c++){
$text[$c] =$this->doc->saveXML($node->item($c));
echo $text[$c];
}
}
?>
