您的位置:首页 > 编程学习 > > 正文

php与xml文件(PHP读取XML文件的方法实例总结DOMDocument及simplexml方法)

更多 时间:2021-10-22 07:55:59 类别:编程学习 浏览量:1389

php与xml文件

PHP读取XML文件的方法实例总结DOMDocument及simplexml方法

本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下:

使用DOMDocument对象读取xml

创建一个DOMDocument对象

  • ?
  • 1
  • $doc = new DOMDocument();
  • 载入xml文件

  • ?
  • 1
  • $doc->load("book.xml");
  • 获取标签对象

  • ?
  • 1
  • $books = $doc->getElementsByTagName("book");
  • 获取标签的子对象

  • ?
  • 1
  • $titles = $book->getElementsByTagName("title");
  • 获取标签的值或属性

  • ?
  • 1
  • $title = $titles->item(0)->nodeValue;
  • 实例1,获取图书列表

    book.xml

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • <?xml version="1.0" encoding="UTF-8"?>
  • <bookstore>
  •   <book>
  •     <title>PHP和MySQL开发</title>
  •     <author>谭浩强</author>
  •   </book>
  •   <book>
  •     <titile>xml从入门到精通</titile>
  •     <author>郑智化</author>
  •   </book>
  • </bookstore>
  • load.php

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • <?php
  • header("Content-type:text/html;charset=utf8");
  • $doc = new DOMDocument();  //创建DOMDocument对象
  • $doc->load("book.xml");  //打开book.xml
  • $books = $doc->getElementsByTagName("book"); //获取book标签对象
  • foreach ($books as $book){  //遍历对象
  •   $titles = $book->getElementsByTagName("title");  //获取book标签下的title标签
  •   $title = $titles->item(0)->nodeValue;  //获取标签的值
  •   $authors = $book->getElementsByTagName("author");//获取book标签下的author标签
  •   $author = $authors->item(0)->nodeValue;  //获取标签的值
  •   $item["title"] = $title;
  •   $item["author"] = $author;
  •   $bookinfo[] = $item;
  • }
  • var_dump($bookinfo);
  • 实例2,读取配置文件

    config.xml

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • <?xml version="1.0" encoding="UTF-8"?>
  • <mysql>
  •   <host>127.0.0.1</host>
  •   <username>root</username>
  •   <password></password>
  •   <database>test</database>
  • </mysql>
  • config.php

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • <?php
  • header("Content-type:text/html;charset=utf8");
  • $doc = new DOMDocument();  //创建DOMDocument对象
  • $doc->load("config.xml");  //打开config.xml
  • $mysql = $doc->getElementsByTagName("mysql"); //获取mysql标签对象
  • $host = $mysql->item(0)->getElementsByTagName("host");
  • $config["host"] = $host->item(0)->nodeValue;
  • $username = $mysql->item(0)->getElementsByTagName("username");
  • $config["username"] = $username->item(0)->nodeValue;
  • $password = $mysql->item(0)->getElementsByTagName("password");
  • $config["password"] = $password->item(0)->nodeValue;
  • $database = $mysql->item(0)->getElementsByTagName("database");
  • $config["database"] = $database->item(0)->nodeValue;
  • var_dump($config);
  • 使用simplexml方法读取xml

    实例1,获取图书列表

    load.php

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • <?php
  • header("Content-type:text/html;charset=utf8");
  • $books = simplexml_load_file("book.xml");
  • foreach($books as $book){
  •   $item["title"] = $book->title;
  •   $item["author"] = $book->author;
  •   $booklist[] = $item;
  • }
  • var_dump($booklist);
  • 实例2,读取配置文件

    config.php

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • <?php
  • header("Content-type:text/html;charset=utf8");
  • $mysql = simplexml_load_file("config.xml");
  • $config['host'] = $mysql->host;
  • $config['username'] = $mysql->username;
  • $config['password'] = $mysql->password;
  • $config['databse'] = $mysql->database;
  • var_dump($config);
  • 希望本文所述对大家PHP程序设计有所帮助。

    原文链接:https://blog.csdn.net/koastal/article/details/50705267

    您可能感兴趣