zoukankan      html  css  js  c++  java
  • 使用SimpleXML 解析xml

    最近搞解析XML搞的我是水深火热的,所以打算对PHP5解析XML做个学习小结。今天介绍下与PHP5捆绑在一起的SimpleXML扩展,这个用于可读写XML的新的API,让解析XML不再繁琐和困难,用起来就一个字“爽”。接下来我就告诉你有多爽。

    1.今天解析的XML文档格式如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
         Document   : test.xml
        Author     : 蘇哥拉笛
         Description:
            Purpose of the document follows.
    -->
    <root>
        <row id="1">
            <name>Jordan</name>
            <age>40</age>
            <email>jordan@gmail.com</email>
        </row> 
        <row id="2">
            <name>Yao</name>
            <age>27</age>
            <email>yaoming@yahoo.com.cn</email>
        </row>  
        <row id="3">
            <name>sugeladi</name>
            <age>22</age>
            <email>su@@@@@@ge</email>
        </row>
    </root>

    2.解析XML:

        解析XML并把它保存在一个变量中,使用SimpleXML只需要写一行即可完成:

       $xml=simplexml_load_file("test.xml")

    3.获取你想要标签的值:

        比如我想要拿到name标签中的值,你可以这样写:

       $name=$xml->row->name;

       之后echo $name,得到jordan。如果要得到全部的name标签的值,你可以这样:

       foreach($xml -> row as $row){

              echo "$row -> name<br>";

       }

       输出:Jordan

                     Yao

                     sugeladi

       看到这你发现乐趣了没?哈哈,你想要什么,只要有$xml这个对象,只有你熟悉XML文档的结构,那么取值是不是很方便的说,只要给出相应的节点标签名称,你就可以获取到你想要的值。那么接下来我们继续来玩玩XML解析。

    4.按索引访问相应的标签元素值

         如果XML结构良好,那么我们可以按索引访问元素,默认索引为0,比如现在我们要拿name是Jordan这项,我们可以这样写:

        $name=$xml -> row[0] -> name;

        echo $name;

        输出:Jordan

    5.查找元素的属性值:

         我们现在要取<row id="1">的id的值可以这样:

         foreach($xml -> row -> attributes() as $id){

             echo $id;

        }

       输出:1

  • 相关阅读:
    HDOJ1301 Jungle Roads[最小生成树Prim()]
    HDOJ1166 敌兵布阵[线段树求和]||HDOJ1754 I Hate It[线段树求最大值]
    HDOJ2159 FATE[DP背包问题]
    ZOJ3175 Number of Containers[数学题]
    POJ1791 Parallelogram Counting[数学题平行四边形求个数]
    HDOJ1281 棋盘游戏[匈牙利(最大匹配)+枚举]
    HDOJ1045 Fire Net[二分图匈牙利算法]
    POJ2449 Remmarguts' Date[K短路入门题(Dijkstra()||Spfa()+A*)]
    Fibonacci序列
    HDOJ1568 Fibonacci[公式求前四位数]
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/3783322.html
Copyright © 2011-2022 走看看