I would like to reiterate that this does not work when compiled with versions of libxml lower than 20620. I found that it just presents a blank page.
<?php $string = $reader->readString(); ?>
I worked around this issue by adding the following helper function:
<?php
function read_string($reader) {
$node = $reader->expand();
return $node->textContent;
}
?>
And then using:
<?php $string = read_string($reader); ?>
XMLReader::readString
(PHP 5 >= 5.2.0)
XMLReader::readString — خواندن محتوای گره فعلی به عنوان رشته
Description
string XMLReader::readString
( void
)
خواندن محتوای گره فعلی به عنوان رشته.
Parameters
This function has no parameters.
Return Values
خواندن محتوای گره فعلی به عنوان رشته. رشته خالی در صورت خطا.
Notes
Caution
This function is only available when PHP is compiled against libxml 20620 or later.
See Also
- XMLReader::readOuterXML() - گرفتن XML از گره فعلی شامل خود
- XMLReader::readInnerXML() - دریافت XML از گره فعلی
- XMLReader::expand() - بازگرداندن کپی گره فعلی شی DOM
Lea Hayes ¶
1 year ago
Michael Rusch ¶
4 years ago
For those who, like me, are having trouble figuring out the difference between getString() an getInnerXML(), the difference is that getString() does NOT include markup. So, for:
<foo>bar<baz>Hello, world!</baz></foo>
getString() on the <foo> node would return
bar Hello, world!
whereas getInnerXML() would return
bar<baz>Hello, world!</baz>
