牛牛在线工具

XMLReader::setSchema()

收录 8868 个 PHP 函数,含用途说明与用法示例。

XMLReader::setSchema()

设置用于验证 XML 文档的 XML Schema

函数:XMLReader::setSchema() 适用版本:PHP 5 >= 5.2.0, PHP 7 用法:XMLReader::setSchema() 方法用于设置用于验证 XML 文档的 XML Schema。 语法:bool XMLReader::setSchema ( string $filename ) 参数: filename:要用于验证的 XML Schema 文件的路径。 返回值:如果成功设置了 XML Schema,则返回 true,否则返回 false。 示例: $xml = '<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title>PHP Basics</title> <author>John Doe</author> <price>19.99</price> </book> <book> <title>Advanced PHP</title> <author>Jane Smith</author> <price>29.99</price> </book> </bookstore>'; // 创建 XMLReader 对象 $reader = new XMLReader(); // 打开 XML 文件 $reader->xml($xml); // 设置 XML Schema 文件 $reader->setSchema('bookstore.xsd'); // 开始解析 XML 文档 while ($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'book') { // 处理每个书籍节点 $book = array(); while ($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'title') { $reader->read(); $book['title'] = $reader->value; } // 处理其他节点... } // 打印书籍信息 print_r($book); } } // 关闭 XMLReader 对象 $reader->close(); 在上面的示例中,我们创建了一个包含两本书的简单 XML 文档。然后,我们使用 XMLReader 类来解析该文档,并通过调用 setSchema() 方法设置了一个名为 "bookstore.xsd" 的 XML Schema 文件进行验证。然后,我们使用 while 循环遍历每个 "book" 节点,并提取其中的 "title" 节点的值。最后,我们打印每本书的信息。 请注意,要成功使用 XMLReader::setSchema() 方法,需要确保 PHP 的 libxml 版本不低于 2.6.0,并且已启用验证功能。