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

解读PHP DOMDocument在解析XML文件中的作用

程序员文章站 2022-06-16 21:15:50
...
在使用

关于用到的XML文件还以“Php Xml处理之simplexml使用方法浅谈”一文中的XML为例,文件名为:me.xml。代码如下:

PHP XML处理XML代码

  1. ?xml version="1.0" encoding="utf-8"?>
  2. phplamp>
  3. post>
  4. title id="1">PHP XML处理介绍一 /title>
  5. details>详细内容一 /details>
  6. /post>
  7. post>
  8. title id="2">PHP XML处理介绍二 /title>
  9. details>详细内容二 /details>
  10. /post>
  11. post>
  12. title id="3">PHP XML处理介绍三 /title>
  13. details>详细内容三 /details>
  14. /post>
  15. /phplamp>

然后就需要用PHP DOMDocument去处理这个文件,将XML文件中的任何元素都解析出来。代码如下,里面有注释。

PHP DOMDocument解析XML文件的代码

  1. ?php
  2. // 首先要建一个DOMDocument对象
  3. $xml = new DOMDocument();
  4. // 加载Xml文件
  5. $xml->load("me.xml");
  6. // 获取所有的post标签
  7. $postDom = $xml->
    getElementsByTagName("post");
  8. // 循环遍历post标签
  9. foreach($postDom as $post){
  10. // 获取Title标签Node
  11. $title = $post->
    getElementsByTagName("title");
  12. /**
  13. * 要获取Title标签的Id属性要分两部走
  14. * 1. 获取title中所有属性的
    列表也就是$title-
    >item(0)->attributes
  15. * 2. 获取title中id的属性,
    因为其在第一位所以用item(0)
  16. *
  17. * 小提示:
  18. * 若取属性的值可以用item(*)->nodeValue
  19. * 若取属性的标签可以用item(*)->nodeName
  20. * 若取属性的类型可以用item(*)->nodeType
  21. */
  22. echo "Id: " . $title->item(0)->
    attributes->item(0)->nodeValue . " br />";
  23. echo "Title: " . $title->
    item(0)->nodeValue . " br />";
  24. echo "Details: " . $post->
    getElementsByTagName("details")->i
    tem(0)-
    >nodeValue . " br /> br />";
  25. }
  26. ?>

这只是一种方法,PHP DOMDocument相当强大,还有更多的解析方法与策略,等待您去发掘。