PHP 的 XML 转换器软件包
Novak Urošević 发布的 XML 转换包提供了将 XML 数据转换成 JSON 及 PHP 数组的简单助手函数。你可以使用 xmlToJson()
和 xmlToArray()
方法将给定的 XML 字符串转换成需要的格式:
$xml = <<<XML
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book.xsd">
<title><![CDATA[The Great Gatsby]]></title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
XML;
$json = Convert::xmlToJson($xml, true, true, '/path/to/book.xsd');
$arr = Convert::xmlToArray($xml);
// Example will all options
Convert::xmlToArray(
$xmlString,
namespace_in_tag_name: true,
is_cdata: true,
schema_path: '/path/to/schema.xsd' // or '' to enable DTD validation
);
该包主要由一个可以用于转换 XML 的 PHP 类组成。虽然此包定义了一个 Laravel 服务提供者,转换数据的方法是静态的,因此请直接使用 Convert
类进行转换。
主特性
- 将 XML 字符串转换成 JSON 及 PHP 数组
- DTD 和 XSD 验证
- 命名空间标签
- CDATA 处理
- Schema 验证的错误处理
- 优雅处理 CDATA 及空标签
更多详情请查看 Github 源码。