PHP接收XML格式文件参数并转换成数组

XML 指可扩展标记语言(eXtensible Markup Language)

:xml被设计用来传输和存储数据。

一段如下格式的数据格式:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

问题:

  下面我们演示下如何通过postman传输一个xml的文件给PHP接口,并且将其转换成数组。

1、我们先新建一个test.xml的文件,内容如下。

<?xml version="1.0" encoding="UTF-8"?>
<node>
    <id>10001</id>
    <userName>admin</userName>
    <node>
        <token>9875ghjsd544544545sdsd78we</token>
        <body>这是admin账户的token</body>
    </node>
</node>

 2、然后在新建一个test.php的文件来接受,并且将其转换成数组。

<?php
    //1、把整个文件读入一个字符串中:(用于接收xml文件)
    $xml_file = file_get_contents('php://input');
    //2、转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素:(用于处理接收到的xml数据,将其转换成对象)
    $xml_object = simplexml_load_string($xml_file, 'SimpleXMLElement', LIBXML_NOCDATA);
    //3、对象转成json
    $xml_json=json_encode($xml_object);
    //4、json再转成数组
    $xml_arr=json_decode($xml_json,true);
    //最后打印输出
    echo "<pre>";
    var_dump($xml_arr);

3、最后通过postman调用test.php接口,参数为test.xml文件,来测试效果。

 

 结束。

posted @ 2022-02-09 15:34  在斑马线上散布  阅读(566)  评论(0编辑  收藏  举报
夫人不言,言必有中。这是高级臣僚的一种可贵品质,言辞精炼,直抵要害。