ronappleton / php-to-xml
将 Json 字符串、对象或数组转换为简单 XML
This package is auto-updated.
Last update: 2024-09-19 10:33:37 UTC
README
Php to xml 是一个简单的包,允许将 Json 字符串、Json 对象和 Php 数组转换为有效的 XML。
这个包的初衷是减少在视图中构建 XML。当生成要发送的 XML 时,这个包应该允许代码更加简洁,同时也填补了那些喜欢使用 json 或数组构建的人的空白。
支持通过将一个名为 attributes
的数组添加到节点中,并用属性名称和值填充来支持属性。
安装
composer require ronappleton/php-to-xml
用法
可以通过使用 RonAppleton\PhpToXml\Config
来配置转换器,尽管如果没有传递,将使用默认配置。
要使用转换器,添加 RonAppleton\PhpToXml\PhpToXml
的使用语句,并使用静态方法 PhpToXml::convert($array, $config)
,其中 $config 是可选的。
$array = [
'RootNode' => [
'SecondaryNode' => [
'attributes' => [
'firstAttribute' => 'firstAttributeValue',
'secondAttribute' => 'secondAttributeValue',
],
'SecondaryChildValueKey' => 'SecondaryChildValue',
'SecondaryChildValueKey2' => 'SecondaryChildValue2',
]
]
];
{
"RootNode": {
"SecondaryNode": {
"attributes": {
"firstAttribute": "firstAttributeValue",
"secondAttribute": "secondAttributeValue"
},
"SecondaryChildValueKey": "SecondaryChildValue",
"SecondaryChildValueKey2": "SecondaryChildValue2"
}
}
}
默认情况下,不允许数字键,将会抛出异常。这可以通过使用 $config->setPrependNumericKeys(true)
来配置,这将默认将单词 item
前缀添加到任何数字键上,因此 0 变为 item0,1 变为 item1,依此类推。在转换过程中将删除数字,因此会添加多个同名节点。前缀可以使用 $config->setNumericKeyIndex('name');
来更改,其中 name 是你希望使用的节点名称。
以下方法也存在用于配置。
setBoolAsString()
以在 xml 中产生 true 而不是 1。
setNumbersToStrings()
以将数字转换为字符串。
setHtmlSpecialCharacters()
以编码字符串。
setStringsAsCdata()
以将所有字符串包装在 CDATA 标签中。