XMLReader::readString()函数用于从字符串中读取XML数据。
用法:
bool XMLReader::readString ( string $source [, string $encoding [, int $options = 0 ]] )
参数:
$source
:要解析的XML字符串。$encoding
(可选):指定字符串的字符编码,默认为null。$options
(可选):可选的解析选项,默认为0。
返回值:
- 成功时返回true,表示读取到了下一个节点。
- 失败时返回false,表示没有更多节点可读取。
示例:
$xmlString = '<bookstore>
<book>
<title>PHP 7 in Action</title>
<author>Mark Baker</author>
</book>
<book>
<title>Modern PHP: New Features and Good Practices</title>
<author>Josh Lockhart</author>
</book>
</bookstore>';
$reader = new XMLReader();
$reader->open('data.xml');
while ($reader->read()) {
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'title') {
$reader->read(); // 读取下一个节点(即标题内容)
echo $reader->value; // 输出标题内容
}
}
$reader->close();
在上面的示例中,我们使用XMLReader类的readString()函数从XML字符串中读取数据。然后,我们使用while循环遍历XML中的每个节点,当遇到<title>
元素时,我们读取下一个节点并输出其值(即标题内容)。最后,我们关闭XMLReader对象。