欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php读取xml文件的三种实现方法

程序员文章站 2022-05-05 10:50:19
...
文章介绍了三种方式来读取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 HerringtonPHP Hacks
O'ReillyJack HerringtonPodcasting 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数据的转换.


教程链接:

随意转载~但请保留教程地址★