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文件,来测试效果。
结束。