DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::getElementsByTagNameNS Busca todos los elementos con el nombre de etiqueta dado en el espacio de nombre especificado.

Descripción

public DOMDocument::getElementsByTagNameNS(string $namespaceURI, string $localName): DOMNodeList

Devuelve un DOMNodeList de todos los elementos con el nombre local dado y el URI del espacio de nombre.

Parámetros

namespaceURI

El URI del espacio de nombre de los elementos en los que se buscara. El valor especial * coincide con todos los espacios de nombre.

localName

El nombre local de los elementos buscados. El valor especial * coincide con todos los nombres locales.

Valores devueltos

Un nuevo objeto DOMNodeList que contiene todos los elementos coincidentes.

Ejemplos

Ejemplo #1 Obtener todos los elementos XInclude

<?php

$xml
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
<xi:include href="book.xml">
<xi:fallback>
<error>xinclude: book.xml not found</error>
</xi:fallback>
</xi:include>
<include>
This is another namespace
</include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach (
$dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
echo
'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

El resultado del ejemplo sería:

local name: include, prefix: xi
local name: fallback, prefix: xi

Ver también

add a note

User Contributed Notes 1 note

up
6
RiKdnUA at mail dot ru
10 years ago
<?phpini_set("display_errors","on"); error_reporting(-1);$doc="<?xml version='1.0' encoding='WINDOWS-1251'?><htm:body xmlns:htm='w3.org'><span>Text</span><htm:img htm:src='imgSrc'/></htm:body>";$dom = new DOMDocument('1.0','WINDOWS-1251');$dom->preserveWhiteSpace=false;$dom->loadXML($doc);$domList=$dom->getElementsByTagNameNS('*','*');//all namespaces, all local namesecho "Количество элементов. The number of elements: ".$domList->length."<br />";// 2 (not 3)for ($i=0; $i<$domList->length; $i++){echo "Элемент $i. The element $i: ".$domList->item($i)->tagName."<br />";}/*Tested in PHP 5.2.9-2 and 5.2.17The above example will output: Количество элементов. The number of elements: 2Элемент 0. The element 0: htm:bodyЭлемент 1. The element 1: htm:imgВывод. Не найден элемент spanConclusion. Not found span element*/?>
To Top