• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • DOMDocument::getElementsByTagNameNS()

    (PHP 5, PHP 7)

    Searches for all elements with given tag name in specified namespace

    说明

    publicDOMDocument::getElementsByTagNameNS(string $namespaceURI,string $localName): DOMNodeList

    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
    

    参见

    • DOMDocument::getElementsByTagName() Searches for all elements with given local tag name
    <?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 />";
    }
    /*
    Tested in PHP 5.2.9-2 and 5.2.17
    The above example will output: 
    Количество элементов. The number of elements: 2
    Элемент 0. The element 0: htm:body
    Элемент 1. The element 1: htm:img
    Вывод. Не найден элемент span
    Conclusion. Not found span element
    */
    ?>