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.获取对象中的每一个子元素,得到内容。

  • 相关阅读:
    gzip是一种数据格式,deflate是一种压缩算法
    js 实现图片上传 续
    iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
    HTTPS简介----
    回归测试
    HTTP 返回码 400
    js 实现 一张图片的上传
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/-simon/p/5887493.html
Copyright © 2011-2022 走看看