• PHP SimpleXML


    PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理。


    什么是 PHP SimpleXML?

    SimpleXML 是 PHP 5 中的新特性。

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

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

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

    • 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。
    • 属性通过使用关联数组进行访问,其中的索引对应属性名称。
    • 元素内部的文本被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。

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

    • 读取/提取 XML 文件/字符串的数据
    • 编辑文本节点或属性

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


    安装

    从 PHP 5 开始,SimpleXML 函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。


    PHP SimpleXML 实例

    假设我们有如下的 XML 文件,"note.xml":

    1. <?xml version="1.0" encoding="ISO-8859-1"?>
    2. <note>
    3. <to>Tove</to>
    4. <from>Jani</from>
    5. <heading>Reminder</heading>
    6. <body>Don't forget me this weekend!

    现在我们想要输出上面的 XML 文件的不同信息:

    实例 1

    输出 $xml 变量(是 SimpleXMLElement 对象)的键和元素:

    1. $xml=simplexml_load_file("note.xml");
    2. print_r($xml);
    3. ?>

    以上代码将输出:

    SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

    实例 2

    输出 XML 文件中每个元素的数据:

    1. $xml=simplexml_load_file("note.xml");
    2. echo $xml->to . "
      "
      ;
    3. echo $xml->from . "
      "
      ;
    4. echo $xml->heading . "
      "
      ;
    5. echo $xml->body;
    6. ?>

    以上代码将输出:

    Tove
    Jani
    Reminder
    Don't forget me this weekend!
    

    实例 3

    输出每个子节点的元素名称和数据:

    1. $xml=simplexml_load_file("note.xml");
    2. echo $xml->getName() . "
      "
      ;
    3. foreach($xml->children() as $child)
    4. {
    5. echo $child->getName() . ": " . $child . "
      "
      ;
    6. }
    7. ?>

    以上代码将输出:

    note
    to: Tove
    from: Jani
    heading: Reminder
    body: Don't forget me this weekend!
  • 相关阅读:
    D. Make It Round(贪心 贡献 数学)[Codeforces Round #834 (Div. 3)]
    电缆隧道在线监测系统:提升电力设施安全与效率的关键
    物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用
    JavaIO流:NIO梳理
    JavaPhaseOne
    document.getElementById()获取一直为null
    狼的传说小游戏
    深入理解Android音视频同步机制(一)ExoPlayer的avsync逻辑
    [C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化
    669. Trim a Binary Search Tree
  • 原文地址:https://blog.csdn.net/unbelievevc/article/details/126596479