php读取xml文件的三种实现方法
程序员文章站
2023-12-28 15:03:46
...
文章介绍了三种方式来读取xml文件分别是new DOMDocument(),正则解析xml,用parser函数来读取xml数据,这些方法都是可行的,但第一种和最后一种要好一些.
new DOMDocument()实例代码如下:
load('books.xml'); $books = $doc->getElementsByTagName("book"); foreach ($books as $book) { $authors = $book->getElementsByTagName("author"); $author = $authors->item(0)->nodeValue; $publishers = $book->getElementsByTagName("publisher"); $publisher = $publishers->item(0)->nodeValue; $titles = $book->getElementsByTagName("title"); $title = $titles->item(0)->nodeValue; echo "$title - $author - $publisher/n"; } ?>
正则解析,代码如下:
(.*?)//book/>/s", $xml, $bookblocks); foreach ($bookblocks[1] as $block) { preg_match_all("//(.*?)//author/>/", $block, $author); preg_match_all("// (.*?)//title/>/", $block, $title); preg_match_all("// (.*?)//publisher/>/", $block, $publisher); echo ($title[1][0] . " - " . $author[1][0] . " - " . $publisher[1][0] . "/n"); } ?>
books.xml文件如下:
Jack Herrington PHP Hacks O'Reilly Jack Herrington Podcasting Hacks O'Reilly
下面就给大家举一个小小的例子用parser函数来读取xml数据,代码如下:
"; if ($name) echo $xml_data . "
"; } function endElement($parser_instance, $element_name) //结束标签事件的函数 { global $name, $position; $name = false; $position = false; } ?>
xml文件代码如下:
张三 经理 李四 助理
parser是php内置的一个用来处理xml的解析器,它的工作由三个事件组成:起始标签、 读取数据、结束标签.
也就是说在对xml进行处理的时候每当遇到起始标签、数据和结束标签的时候函数会做相应的动作来完成对xml数据的转换.
教程链接:
随意转载~但请保留教程地址★