dmb/xml-converter

一个允许您轻松将XML字符串转换为数组格式或将数组生成XML字符串的包。

v0.1.3 2023-09-15 15:19 UTC

This package is auto-updated.

Last update: 2024-09-15 17:26:08 UTC


README

Xml Converter - 从XML到数组及其反向转换

Latest Version on Packagist

一个允许您轻松将XML字符串转换为数组格式或将数组生成XML字符串的包。本包基于:Spatie Array to XMLGaarf XML string to PHP array


安装

您可以通过composer安装此包

composer require dmb/xml-converter

从数组到XML


以下是一些使用示例。

默认根名称:root

$arrayConverted = (new FromArray())
    ->convertToXml($arrayToConvert);

自定义根名称:customRootName

$arrayConverted = (new FromArray())
    ->convertToXml(
        $arrayToConvert,
        'customRootName'
    );

自定义根名称:customRootName和属性

$arrayConverted = (new FromArray())
    ->convertToXml(
        $arrayToConvert,
        [
        'rootElementName' => 'customRootName',
        '_attributes' => [
            'xmlns' => 'https://github.com/davidemariabusi/xml-converter',
        ],
    );

所有功能示例

$arrayToConvert = [
    'First_User' => [
        '_attributes' => [
            'attr1' => 'value'
        ],
        'name' => 'Name',
    ],
    'Second_User' => [
        'name' => 'Name 2'
    ],
    'Third_User' => [
        '_attributes' => [
            'attr2' => 'value 2'
        ],
        '_value' => 'Name 3'
    ]
];

$arrayConverted = (new FromArray())
    ->convertToXml(
        $arrayToConvert,
        [
            'rootElementName' => 'customRootName',
            '_attributes' => [
                'xmlns' => 'https://github.com/davidemariabusi/xml-converter',
            ],
        ]
    );

结果

<?xml version="1.0"?>
<customRootName xmlns="https://github.com/davidemariabusi/xml-converter">
    <First_User attr1="value">
        <name>Name</name>
        <weapon>Lightsaber</weapon>
    </First User>
    <Second_User>
        <name>Name2</name>
    </Second_User>
    <Third_User attr2="value 2">
        Name 3
    </Third_User>
</customRootName>

从XML到数组


以下是一些使用示例。

有效XML

XML将被转换为数组。

try {
    $converted = (new FromXml())
        ->convertToArray($validXml);
} catch (XmlParsingExcpetion $e) {
    $error = $e->getMessage();
}

无效XML

将捕获XmlParsingExcpetion异常。

try {
    $converted = (new FromXml())
        ->convertToArray($invalidXML);
} catch (XmlParsingExcpetion $e) {
    $error = $e->getMessage();
}

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件