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


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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Toveto>
  <from>Janifrom>
  <heading>Reminderheading>
  <body>Don't forget me this weekend!body>
note>

问题:

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

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

<?xml version="1.0" encoding="UTF-8"?>
<node>
    <id>10001id>
    <userName>adminuserName>
    <node>
        <token>9875ghjsd544544545sdsd78wetoken>
        <body>这是admin账户的tokenbody>
    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 "
";
    var_dump($xml_arr);

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

 结束。