Voting

: nine plus zero?
(Example: nine)

The Note You're Voting On

jirka at kosek dot cz
19 years ago
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.

<< Back to user notes page

To Top