是否有一些php库实现数据序列化为XML格式,如serialize()
和unserialize()
(从XML恢复对象)函数的对象与private
和protected
字段?
PEAR XML_Serializer可以很好地使用类型提示选项,但它不处理受保护的字段。
Symfony Serializer Component提供serialize()
和deserialize()
方法,并支持多种格式:XML, JSON, YAML…
它包含在Symfony中,但是你甚至可以在非Symfony项目中使用它,通过与composer一起安装:
composer require symfony/serializer
如果您使用文档示例中所示的ObjectNormalizer
,请不要忘记也安装symfony/property-access
。
希望这不会被认为是垃圾邮件,但我一直在开发一个库,该库处理XML对象之间的序列化和反序列化。
https://github.com/evert/sabre-xml/然而,它并没有完全按照你的要求去做。想要序列化的每个对象都需要实现serializeXML
和deserializeXML
方法。在这个方法中,你可以准确地决定你需要实现什么。
如果你打算使用这个,我真的很乐意把你想要的特性作为PHP 5.4的特性。请给我发个消息(你可以在github上找到我的信息)。