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]; } } ?>