PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

XMLReader::readInnerXML> <XMLReader::open
Last updated: Fri, 26 Sep 2008

view this page in

XMLReader::read

(PHP 5 >= 5.1.2)

XMLReader::readMove to next node in document

Description

bool XMLReader::read ( void )

Moves cursor to the next node in the document.

Return Values

Returns TRUE on success or FALSE on failure.



add a note add a note User Contributed Notes
XMLReader::read
jirka at kosek dot cz
08-Feb-2006 10:01
libxml2 contains much more useful method readString() that will read and return whole text content of element. You can call it after receiving start tag (XMLReader::ELEMENT). You can use this PHP code to emulate this method until PHP will directly call underlying libxml2 implementation.

<?php
class XMLReader2 extends XMLReader
{
  function
readString()
  {
       
$depth = 1;
       
$text = "";

        while (
$this->read() && $depth != 0)
        {
            if (
in_array($this->nodeType, array(XMLReader::TEXT, XMLReader::CDATA, XMLReader::WHITESPACE, XMLReader::SIGNIFICANT_WHITESPACE)))
               
$text .= $this->value;
            if (
$this->nodeType == XMLReader::ELEMENT) $depth++;
            if (
$this->nodeType == XMLReader::END_ELEMENT) $depth--;
        }
        return
$text;
    }
}
?>

Just use XMLReader2 instead of XMLReader.

XMLReader::readInnerXML> <XMLReader::open
Last updated: Fri, 26 Sep 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites