"; echo "Author: " . $book->author . "
"; } ?> ``` ### 2. 使用DOM DOM扩展允许你将XML文件加载到内存中,并构建一个代表该文件结构的树。这使得你可以使用DOM API来遍历、修改或查询XML文档。 #### 示例: 使用DOM解析`example.xml`的PHP代码如下: ```php load('example.xml'); $books = $dom->getElementsByTagName('book'); foreach ($books as $book) { $title = $book->getElementsByTagName('title')->item(0)->nodeValue; $author = $book->getElementsByTagName('author')->item(0)->nodeValue; echo "Title: " . $title . "
"; echo "Author: " . $author . "
"; } ?> ``` ### 3. 使用XMLReader XMLReader是一个基于游标的XML解析器,它允许你前向读取XML文件,而不需要一次性将整个文件加载到内存中。这对于处理大型XML文件特别有用。 #### 示例: 使用XMLReader解析`example.xml`的PHP代码如下: ```php open('example.xml'); while ($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'book') { $node = new SimpleXMLElement($reader->readOuterXML()); echo "Title: " . $node->title . "
"; echo "Author: " . $node->author . "
"; } } $reader->close(); ?> ``` ### 总结 选择哪种XML解析方法取决于你的具体需求,比如文件的大小、是否需要修改XML文档以及你对性能的要求。SimpleXML对于简单的读取操作来说非常方便,而DOM提供了更丰富的API来查询和修改XML文档。XMLReader则适用于处理大型文件,因为它不需要一次性将整个文件加载到内存中。