首页 > 解决方案 > 如何使用 PHP 代码将 XML 结果转换为 JSON 数组或 PHP 数组

问题描述

我想使用 PHP 5.6 将以下代码从 XML 转换为 PHP 数组,或从 XML 转换为 JSON 数组。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <readDataResponse xmlns="http://tempuri.org/">
      <readDataResult>
        <sampleItems>
          <SampleModel>
            <sampleId>1</sampleId>
            <firstName>Amran</firstName>
            <lastName>Aditya</lastName>
          </SampleModel>
          <SampleModel>
            <sampleId>2</sampleId>
            <firstName>Abeds</firstName>
            <lastName>Lukman</lastName>
          </SampleModel>
        </sampleItems>
      </readDataResult>
    </readDataResponse>
  </soap:Body>
</soap:Envelope>

标签: phphtmlarraysjsonxml

解决方案


XML 转 JSON:

{
    "Envelope": {
        "Body": {
            "readDataResponse": {
                "readDataResult": {
                    "sampleItems": {
                        "SampleModel": [
                            {
                                "sampleId": "1",
                                "firstName": "Amran",
                                "lastName": "Aditya"
                            },
                            {
                                "sampleId": "2",
                                "firstName": "Abeds",
                                "lastName": "Lukman"
                            }
                        ]
                    }
                },
                "_xmlns": "http://tempuri.org/"
            },
            "__prefix": "soap"
        },
        "_xmlns:soap": "http://schemas.xmlsoap.org/soap/envelope/",
        "_xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
        "_xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
        "__prefix": "soap"
    }
}

XML 到 PHP:

如何在 PHP 中将 XML 转换为数组?


推荐阅读