zoukankan      html  css  js  c++  java
  • SimpleXML解析xml文件

    SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。

    与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。

    SimpleXML 可把 XML 文档(或 XML 字符串)转换为对象,比如:

    • 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。

    • 属性通过使用关联数组进行访问,其中的索引对应属性名称。

    • 元素内部的文本被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。

    当执行类似下列的基础任务时,SimpleXML 使用起来非常快捷:

    • 读取/提取 XML 文件/字符串的数据

    • 编辑文本节点或属性

    然而,在处理高级 XML 时,比如命名空间,最好使用 Expat 解析器或 XML DOM。

    XML文件:

    <?xml version="1.0" encoding="utf-8"?>
    <note>
        <to>老爸</to>
        <from>儿子</from>
        <heading>问候</heading>
        <body>最近身体好吗,天气变冷,记得多穿衣服</body>
    </note>

    PHP文件:

    1---

    <?php
    $xml = simplexml_load_file("note.xml");
    print_r($xml);

    输出:

    SimpleXMLElement Object ( [to] => 老爸 [from] => 儿子 [heading] => 问候 [body] => 最近身体好吗,天气变冷,记得多穿衣服 )

    2---

    <?php
    $xml=simplexml_load_file("note.xml");
    echo $xml->to . "<br>";
    echo $xml->from . "<br>";
    echo $xml->heading . "<br>";
    echo $xml->body;
    ?>

    输出:

    老爸
    儿子
    问候
    最近身体好吗,天气变冷,记得多穿衣服

    3---

    <?php
    $xml = simplexml_load_file("note.xml");
    echo $xml->getName()."<br>";
    foreach ($xml->children() as $child){
    echo $child->getName().":".$child."<br>";
    }

    输出:

    note
    to:老爸
    from:儿子
    heading:问候
    body:最近身体好吗,天气变冷,记得多穿衣服

    解析原理:

        1.加载xml文件,解析器会将xml文件转换成SimpleXMLElement Object。

        2.获取对象中的每一个子元素,得到内容。

  • 相关阅读:
    iOS 中架构模式的浅显理解
    Block 在 ARC 下的拷贝
    Repo 的使用小结
    博客园新语言代码高亮以及OpenLiveWriter插件开发(一)
    GridLayout 使用
    PopupWindow 使用
    NDK笔记(二)-在Android Studio中使用ndk-build
    NDK 笔记(一)
    Java 多线程编程
    搭建Apache Web服务器
  • 原文地址:https://www.cnblogs.com/-simon/p/5887493.html
Copyright © 2011-2022 走看看