©
本文档使用
php.cn手册 发布
(PHP 5, PHP 7)
DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
$namespaceURI
, string $localName
)Returns a DOMNodeList of all elements with a given local name and a namespace URI.
namespaceURI
The namespace URI of the elements to match on. The special value * matches all namespaces.
localName
The local name of the elements to match on. The special value * matches all local names.
A new DOMNodeList object containing all the matched elements.
Example #1 Get all the XInclude elements
<?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" ;
}
?>
以上例程会输出:
local name: include, prefix: xi local name: fallback, prefix: xi
[#1] RiKdnUA at mail dot ru [2015-03-19 19:47:25]
<?php
ini_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 names
echo "???????????? ??????????. 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 />";
}
?>