abgeo/xml-to-json

简单地将 XML 转换为 JSON

v1.0.0 2020-05-11 17:07 UTC

This package is auto-updated.

Last update: 2024-08-29 05:18:57 UTC


README

简单地将 XML 转换为 JSON。

Build Status Coverage Status GitHub release Packagist Version GitHub license

安装

您可以使用 Composer 安装此库

  • composer require abgeo/xml-to-json

使用方法

在主文件中包含 composer 自动加载器(例如:index.php)

  • require __DIR__.'/../vendor/autoload.php';

此包为您提供将 XML 字符串/文件转换为 JSON 字符串/文件的能力。
为此,我们有两个转换器

  • ABGEO\XmlToJson\StringConverter
  • ABGEO\XmlToJson\FileConverter

让我们看看它们是如何工作的。

将 XML 字符串转换为 JSON 字符串

创建简单的 XML 文件

example.xml

<?xml version="1.0" encoding="UTF-8"?>
<profile>
    <firstName>Temuri</firstName>
    <lastName>Takalandze</lastName>
    <active>true</active>
    <position>
        <title>Developer</title>
        <department>
            <title>IT</title>
        </department>
    </position>
</profile>

创建一个 ABGEO\XmlToJson\StringConverter 类的实例并将 example.xml 的内容读取到一个变量中

$converter = new StringConverter();
$xmlContent = file_get_contents(__DIR__ . '/example.xml');

现在,您可以转换 $xmlContent 变量的值到 JSON 对象

$jsonContent = $converter->convert($xmlContent);

如果您打印此变量,您将得到以下结果

echo $jsonContent;

//{
//    "profile": {
//    "firstName": "Temuri",
//        "lastName": "Takalandze",
//        "active": "true",
//        "position": {
//        "title": "Developer",
//            "department": {
//            "title": "IT"
//            }
//        }
//    }
//}

将 XML 文件转换为 JSON 文件

假设您已经有一个如上步骤中描述的 example.xml 文件。现在让我们创建一个 ABGEO\XmlToJson\FileConverter 类的实例

$converter = new FileConverter();

使用此对象的 convert 方法,您可以简单地转换 XML 文件为 JSON 文件

$converter->convert(__DIR__ . '/example.xml', __DIR__ . '/example.json');

Convert() 接受两个参数 - 输入和输出文件的路径。如果您没有指定输出文件,默认情况下它将是 {$inputFile}.json。

最后,Convert () 方法将生成一个包含以下内容的新的 example.json

example.json

{
    "profile": {
        "firstName": "Temuri",
        "lastName": "Takalandze",
        "active": "true",
        "position": {
            "title": "Developer",
            "department": {
                "title": "IT"
            }
        }
    }
}

请在此处查看完整示例 here.

变更日志

请参阅 CHANGELOG 了解详细信息。

贡献

欢迎提交拉取请求。对于主要更改,请先提交一个问题来讨论您希望更改的内容。

请确保适当更新测试。

作者

许可证

版权所有 © 2020 Temuri Takalandze
MIT 许可证下发布。