专栏首页同步博客PHP中遍历XML之SimpleXML

PHP中遍历XML之SimpleXML

1、简介

  简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。XML是当今用于传输数据的两大工具之一,另外一个是json。

  我们在PHP中使用XML也是用来传输数据,因此在接收到XML的时候,仅仅是一大串有结构性的字符串。

  在PHP中内置有两大扩展模块是用于处理XML的,分别是DOM扩展、SimpleXML扩展。在这里就讲解一些如何使用SimpleXML。

  SimpleXML 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

2、使用

接下来使用一个例子来进行讲解:

 1 <?php
 2 #实例化,含有四个参数,其中第一个参数是是必须的
 3 $simplexml=new SimpleXMLElement('<?xml version="1.0"?><articles/>'); 
 4 
 5 $article1=$simplexml->addChild('article');
 6 $article1->addChild('title','this is title1111');
 7 $article1->addChild('writer','Mr.李');
 8 
 9 $article2=$simplexml->addChild('article');
10 $article2->addChild('title','this is title2222');
11 $article2->addChild('writer','Mr.酒鬼');
12 
13 $article3=$simplexml->addChild('article');
14 $article3->addChild('title','this is title33333');
15 $article3->addChild('writer','Mr.一叶随风');
16 
17 $str= $simplexml->asXML();
18 file_put_contents('aa.xml', $str);
19 
20 $concert_list=simplexml_load_string($str);
21 #$concert_list=simplexml_load_file('./aa.xml');
22 echo "<pre>";
23 print_r($concert_list);
24 echo "</pre>";
25 
26 ?>

显示的结果:

同时生成aa.xml

  从生成aa.xml文件来看,我们可以使用SimpleXML来写出我们想要的XML代码。再看看显示的结果图,此时的XML已经变成一个Object了,这就很方便我们对其进行下一步的处理了。

  在SimpleXML中我们最经常使用的两个方法是simplexml_load_string(string)和simplexml_load_string(xmlfile),这两个方法的作用相同都是将XML变成可遍历的Object。

  其中simplexml_load_string()针对的对象时XML字符串,simplexml_load_string()则是针对的对象是XML文件。

  由此可知,SimpleXML既简单有时那么的强大!

  SimpleXML还有其他方法,具体可以参考php手册:http://php.net/manual/en/class.simplexmlelement.php

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis构建分布式锁

      为什么要构建锁呢?因为构建合适的锁可以在高并发下能够保持数据的一致性,即客户端在执行连贯的命令时上锁的数据不会被别的客户端的更改而发生错误。同时还能够保证命...

    那一叶随风
  • Apache URL重写规则

      Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块。它的功能非常强大,可以操作URL中的所有部分。

    那一叶随风
  • 掀开断点续传那一层面纱(下载篇)

      这一篇文章主要介绍的是http协议下载时的断点续传,详细到各个步骤。主要步骤有:DNS查找、TCP三次握手、http请求发送、TCP协议数据传输、暂停后的状...

    那一叶随风
  • CSS学习笔记

                 选择器 { 属性名:属性值; 属性名:属性值; ……  }

    泰斗贤若如
  • 大神Yann LeCun亲授:如何自学深度学习技术并少走弯路(3000字长文)

    编者按:深度学习领域泰斗级人物 Yann LeCun 是 Quora上非常踊跃的答者,他乐于分享自己的心得体会。例如,有人问“你最喜欢的机器学习算法是什么?”,...

    AI科技评论
  • Python处理Excel文档

    这里用到一个名为xlrd的库,我用来筛选教师编制考试的信息,表格实在太大了,用Excel标注完了删除都要删半天,为此特地学了一下午:

    带萝卜
  • ZigBee On Windows Mobile-ZigBee模块的设计制作

        上篇文章”ZigBee On Windows Mobile—利用CF卡接口外扩”发布以后,有朋友回帖说希望我写一下ZigBee硬件模块的设计方法和流程,...

    ShiJiong
  • “真人版”《狮子王》荣耀归来,VR拍摄再现非洲草原无穷魅力

    7月12日,迪士尼经典动画改编的真实CG电影《狮子王》荣耀归来。和之前的《复仇者联盟4》、《蜘蛛侠:英雄远征》一样,国内提前北美地区上映,并且这回提前了整整七天...

    VRPinea
  • centos 6.5 thrift 0.9 转

    All languages require the Apache Thrift IDL Compiler and at this point everythin...

    双面人
  • Java自学之道(二) Java开发环境准备

    Java自学之道(二) Java开发环境准备   这里主要讲JDK的配置,JDK的安装和安装一般的应用软件一样,下载JDK 安装就可以了,但安装后主要是配置好...

    闵开慧

扫码关注云+社区

领取腾讯云代金券