跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

PHP 将xml文件解析为数组


KaiWn

推荐的帖子

  • SimpleXML扩展在解析和操作XML文档时非常实用,本文将讨论如何使用php SimpleXML解析xml文件。

    首先,让我们看一下使用SimpleXML扩展将XML内容转换为数组所需遵循的步骤。

    • 将xml文件转换为字符串:  使用php file_get_contents()函数将整个xml文件作为字符串读取并存储到变量中。
    • 将字符串转换为对象: 将字符串转换为对象,可以通过PHP的一些内置函数simplexml_load_string()轻松完成。
    • 将对象转换为JSON:  json_encode()函数将对象,数组的数据格式转换为json格式的数据
    • 解码JSON对象:  json_decode()函数解码JSON字符串。它将JSON编码的字符串转换为PHP变量。

     

    php解析xml文件需要使用到的函数

    file_get_contents():

    file_get_contents() 函数把整个xml文件读入一个字符串中

    simplexml_load_string():

    simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

    simplexml_load_file():

    simplexml_load_file() 函数把 XML 文档载入对象中。如果失败,则返回 false。

    json_encode():

    json_encode函数主要用来将数组和对象,转换为json格式。

    json_decode():

    json_decode函数用于将json文本转换为相应的PHP数据结构.

     

    PHP将xml文件解析为数组 - 示例

    xml文件abc.xml如下:
    <?xml version='1.0'?>
    <userdb>
       <firstname name='Alex'>
          <symbol>AL</symbol>
          <code>A</code>
       </firstname>
          <firstname name='Sandra'>
             <symbol>SA</symbol>
             <code>S</code>
       </firstname>
    </userdb>

    php代码:

    <?php
    // xml file path
       $path = "abc.xml";
       $xmlfile = file_get_contents($path);
       $new = simplexml_load_string($xmlfile);
       $jsonfile = json_encode($new);
       $myarray = json_decode($jsonfile, true);
       print_r($myarray);
    ?>

    运行结果:

    Array
    (
       [firstname] => Array
           (
               [0] => Array
                   (
                       [@attributes] => Array
                           (
                               [name] => Alex
                           )
                       [symbol] => AL
                       [code] => A
                   )
               [1] => Array
                   (
                       [@attributes] => Array
                           (
                               [name] => Sandra
                           )
                       [symbol] => SA
                       [code] => S
                   )
           )
    )
链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...