XMLReader->read()

(no version information, might be only in CVS)

XMLReader->read() -- Move to next node in document

说明

class XMLReader {

bool read ( void )

}

Moves cursor to the next node in the document.

返回值

如果成功则返回 TRUE,失败则返回 FALSE


add a note add a note User Contributed Notes
jirka at kosek dot cz
08-Feb-2006 05: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.