PHP Doku:: Gets elements by tagname - function.domelement-get-elements-by-tagname.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:

Ein Service von Reinhard Neidl - Webprogrammierung.





(PHP 4 >= 4.1.0)

DomElement->get_elements_by_tagname Gets elements by tagname


array DomElement::get_elements_by_tagname ( string $name )

Gets all the sub elements with the specific name within the current element.



The name of the seeked element.


Returns an array of DomElement objects.


Beispiel #1 Getting a content

if (!$dom domxml_open_mem($xmlstr)) {
"Error while parsing the document\n";

$root $dom->document_element();

$node_array $root->get_elements_by_tagname('element');

foreach (
$node_array as $node) {
' - ' $node->get_content() . "\n";


Migrating to PHP 5

Use DOMElement::getElementsByTagName.

3 BenutzerBeiträge:
- Beiträge aktualisieren...
mikhail dot nemtsev at gmail dot com
24.08.2008 5:21
This example uses get_elements_by_tagname() and child_nodes() to output the contents of the xml file. The sample xml file and php code are below.

<?xml version="1.0" encoding="iso-8859-1"?>
    <meaning>used to express a greeting</meaning>
    <example>Hello World!</example>

= "/some/dir/dictionary.xml";
    if (!
$dom = domxml_open_file($xml_path)) {
//the above requires absolube path
exit("Could not access the XML source.");
$root = $dom->document_element(); //obtain the root
$array_entry = $root->get_elements_by_tagname("entry"); //gets all <entry> DomElems
foreach ($array_entry as $entry_dom_elem) {   
$childnodes = $entry_dom_elem->child_nodes();
        foreach (
$childnodes as $child) { //cycle thru <word>, <meaning>, <example>
echo "node name: ".$child->tagname() . "; contains: " . $child->get_content()."<br>";
The above code outputs:
node name: word; contains: Hello
node name: meaning; contains: used to express a greeting
node name: example; contains: Hello World!
php dot net dot 3 dot jdoe at spamgourmet dot com
30.03.2004 20:55
Function get_elements_by_tagname() is only defined for the DocumentRoot-Element rather than for any DocumentElement.
chregu at php dot net
30.10.2002 16:02
if you want to search for tagnames with namespaces, do it the following way:
(it's a work around, not a really proper solution..)

$dom = domxml_open_mem($xmlval);
$nodes = $dom->get_elements_by_tagname("yns:tagname",$ctx);

PHP Powered Diese Seite bei
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)