zoukankan      html  css  js  c++  java
  • SimpleXML操控XML

    复杂字符串如下:

    $_xml=<<<_xml
    <?xml version="1.0" encoding="utf-8"?>
    <root>
        
        <version>1.0</version>
        <version>2.0</version>
        <version>3.0</version>
        <info>xml解析测试</info>
        
        <user>
            <name>党兴明</name>
            <url>http://www.baidu.com</url>
            <author sex="男" height="180">我我我</author>
        </user>
        
        <user>
            <name>周林</name>
            <url>http://www.baidu.com</url>
            <author sex="女" height="170">谁谁谁</author>
        </user>
        
        <user>
            <name>电驴</name>
            <url>http://www.baidu.com</url>
            <author sex="男">姓黄的</author>
        </user>
            
    </root>
    _xml;

    1 生成XML文件

        //创建一个simpleXML对象,传入XML字符串
        $_sxe = new SimpleXMLElement($_xml);
        //生成XML文件
        $_sxe->asXML('test.xml');

    2 载入XML文件

        //使用simpleXML载入
        $_sxe = simplexml_load_file('test.xml');

    3 解析载入的XML文件

        //1
        echo $_sxe->asXML();
        //2
        print_r($_sxe);
        //3
        var_dump($_sxe);
        //4
        Reflection::export(new ReflectionClass($_sxe));

    4 读出XML数据

        //读一级标签的值
        echo $_sxe->version;
        print_r($_sxe->version);
        foreach ($_sxe->version as $v){
            echo "<br />$v";
        }
        //读取二级标签,需要一层一层的指明
        echo $_sxe->user[0]->name;
        foreach ($_sxe->user as $user){
            echo "$user->name";
        }
        //输出第二个user里的作者的属性
        print_r ($_sxe->user[1]->author->attributes());

    5 使用xpath()获取节点

        //获取节点
        $_name = $_sxe->xpath('/root/user/name');
        print_r($_name);
  • 相关阅读:
    UVa 1592 Database(巧用map)
    TZOJ 4746 Xiangqi(模拟棋盘数组)
    TZOJ 1545 Hurdles of 110m(01背包dp)
    TZOJ 2754 Watering Hole(最小生成树Kruskal)
    TZOJ 1242 求出前m大的数(预处理)
    TZOJ 5280 搜索引擎(模拟字符串)
    TZOJ 4865 统计单词数(模拟字符串)
    TZOJ 5279 马拉松比赛(广搜)
    [luogu4735]最大异或和
    小奇回地球
  • 原文地址:https://www.cnblogs.com/by-dxm/p/6222326.html
Copyright © 2011-2022 走看看