立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

我逸网

我逸分享各类计算工具和资料
不再需要查找公式和数据

安逸

我逸预设各种计算条件和经验
结果只在少量调整之间

效率

将繁琐交给我逸
我用故

我逸

打印 上一主题 下一主题

[PHP] PHP解析XML方法汇集

[复制链接]
跳转到指定楼层
楼主
发表于 2016-6-27 19:57:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

以下汇集整理PHP解析XML方法。

books.xml文件

  1. Harry Potter
  2. J K. Rowling
  3. Everyday Italian
  4. Giada De Laurentiis
复制代码

DOMDocument方法解析

  1. $doc=new DOMDocument(); //创建DOMDocument对象
  2. $doc->load("books.xml"); //加载XML文件
  3. $bookDom=$doc->getElementsByTagName("book"); //获取所有的book标签
  4. foreach($bookDom as $book){ //解析xml
  5. $title = $book->getElementsByTagName("title")->item(0)->nodeValue;
  6. $author = $book->getElementsByTagName("author")->item(0)->nodeValue;
  7. echo "title:".$title."
    ";
  8. echo "author:".$author."
    ";
  9. echo "****************************
    ";
  10. }
  11. ?>
复制代码

xml-parser方法解析

  1. $file = "books.xml";
  2. $data = file_get_contents($file); //读取xml文件
  3. $parser = xml_parser_create(); //创建解析器
  4. xml_parse_into_struct($parser, $data, $vals, $index); //将XML数据解析到数组中
  5. xml_parser_free($parser); //释放解析器
  6. $arr = array();
  7. $t=0;
  8. foreach($vals as $value) { //处理数组
  9. $type = $value['type'];
  10. $tag = $value['tag'];
  11. $level = $value['level'];
  12. $attributes = isset($value['attributes']) ? $value['attributes'] : "";
  13. $val = isset($value['value']) ? $value['value'] : "";
  14. switch ($type) {
  15. case 'open':
  16. if ($attributes != "" || $val != "") {
  17. $arr[$t]['tag'] = $tag;
  18. $arr[$t]['attributes'] = $attributes;
  19. $arr[$t]['level'] = $level;
  20. $t++;
  21. }
  22. break;
  23. case "complete":
  24. if ($attributes != "" || $val != "") {
  25. $arr[$t]['tag'] = $tag;
  26. $arr[$t]['attributes'] = $attributes;
  27. $arr[$t]['val'] = $val;
  28. $arr[$t]['level'] = $level;
  29. $t++;
  30. }
  31. break;
  32. }
  33. }
  34. echo "
    ";
    
  35. print_r($arr);
  36. echo "
  37. ";
  38. ?>
复制代码

simplexml方法解析

  1. $file="books.xml";
  2. $xml = simplexml_load_file($file); //载入books.xml
  3. echo "
    ";
    
  4. print_r($xml);
  5. echo "
  6. ";
  7. ?>
复制代码
沙发
发表于 2018-9-1 16:41:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
板凳
发表于 2018-9-2 13:26:23 | 只看该作者
呦呦资源论坛开放注册了!!限时开放注册

iujlb03.com
地板
发表于 2018-9-3 19:06:35 | 只看该作者
呦呦资源论坛开放注册了!!限时开放注册

iujlb03.com
5#
发表于 2018-10-13 11:02:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
6#
发表于 2018-11-4 14:38:56 | 只看该作者

国外uu,国产uu最新地址开放注册了,网站难找



iujlb06.com
7#
发表于 2018-11-9 03:26:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
8#
发表于 2018-11-21 15:00:47 | 只看该作者

国外uu,国产uu最新地址开放注册了,网站难找



iujlb06.com
9#
发表于 2018-11-26 04:59:00 | 只看该作者
呦呦资源论坛开放注册了!!限时开放注册

92xll.com

Archiver|服务支持:DZ动力|  

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

Copyright © 2016-2022 我逸网 cmd2d.com All Rights Reserved.
备案号:皖ICP备16004147号-1

beian 皖公网安备 34010302000278号

快速回复 返回顶部 返回列表