pastuhov/php-xml2object

将XML解析为对象。

v1.0.0 2017-08-07 14:56 UTC

This package is not auto-updated.

Last update: 2024-09-17 16:52:22 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Total Downloads

将XML转换为对象

输入

<root>
    <detail detailid="3721899" formattedoem="90311-71001" manufacturer="TOYOTA">
        <properties>
            <property code="Name" detailpropertyid="6086730" locale="en_US" property="Наименование"/>
            <property property="Наименование" rate="5" value="カムシャフトセッティング オイル シール"/>
            <property rate="5" value="0.035 кг"/>
        </properties>
    </detail>
    <detail detailid="4445210" formattedoem="20621-71001" manufacturer="TOYOTA">
        <properties>
            <property code="Name" detailpropertyid="6086730" locale="en_US" property="Наименование"/>
            <property property="Наименование" rate="5" value="カムシャフトセッティング オイル シール"/>
        </properties>
    </detail>
</root>

输出

{
    "_tagName": "root",
    "_childrenProperty": "children",
    "children": [
        {
            "_tagName": "detail",
            "_childrenProperty": "properties",
            "detailid": "3721899",
            "formattedoem": "90311-71001",
            "manufacturer": "TOYOTA",
            "properties": [
                {
                    "_tagName": "property",
                    "_childrenProperty": null,
                    "code": "Name",
                    "detailpropertyid": "6086730",
                    "locale": "en_US",
                    "property": "Наименование"
                },
                {
                    "_tagName": "property",
                    "_childrenProperty": null,
                    "property": "Наименование",
                    "rate": "5",
                    "value": "カムシャフトセッティング オイル シール"
                },
                {
                    "_tagName": "property",
                    "_childrenProperty": null,
                    "rate": "5",
                    "value": "0.035 кг"
                }
            ]
        },
        {
            "_tagName": "detail",
            "_childrenProperty": "properties",
            "detailid": "4445210",
            "formattedoem": "20621-71001",
            "manufacturer": "TOYOTA",
            "properties": [
                {
                    "_tagName": "property",
                    "_childrenProperty": null,
                    "code": "Name",
                    "detailpropertyid": "6086730",
                    "locale": "en_US",
                    "property": "Наименование"
                },
                {
                    "_tagName": "property",
                    "_childrenProperty": null,
                    "property": "Наименование",
                    "rate": "5",
                    "value": "カムシャフトセッティング オイル シール"
                }
            ]
        }
    ]
}

功能

  • 将所需的标签转换为属性
  • 快速
  • 节省内存

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

php composer.phar require --prefer-dist pastuhov/php-xml2object

或者在您的 composer.json 文件的 require 部分添加

"require-dev": {
    "pastuhov/php-xml2object": "~1.0.0"
    ...

使用方法

use pastuhov\xml2object\Parser;

$converter = new Parser();
$converter->xml = file_get_contents(__DIR__ . '/data/xml.xml');
$object = $converter->process();

测试

./vendor/bin/phpunit

安全

如果您发现任何与安全相关的问题,请通过电子邮件 pastukhov_k@sima-land.ru 联系,而不是使用问题跟踪器。