您是否知道任何有价值的XML_Serializer替代方案?

问题描述:

我需要序列化对象到XML和XML_Serializer应该这样做,但是,该版本仍处于测试阶段,并没有太多活动(自2010-10年以来没有活动),仍然依赖于PHP4。您是否知道任何有价值的XML_Serializer替代方案?

我宁愿避免自己写这样的工具,所以你可能知道一个替代方案吗?

+0

那么,用XML表示一个对象(及其子对象)其实很简单,我们正在讨论一个递归函数。这不是你要将对象映射到关系数据库...;) – netcoder 2011-06-10 22:59:27

+0

是的我同意,但取决于对象,它可以是混乱的。 XML_Serializer存储类型,可见性等。并且创建一个先前序列化的新对象。 – JohnT 2011-06-10 23:20:27

http://querypath.org/正在积极开发中。 https://github.com/technosophos/querypath

这是更先进(更广泛的焦点...),但似乎是一个非常有用的工具。

+0

你可以举一个使用QueryPath序列化对象的例子吗?我在QP文档中没有找到关于序列化的任何内容。 – Gregoire 2011-07-12 13:28:01

提供序列化对象的XML表示的库是Serialized

写作PHP对象(等价值)的XML串行器一样简单:

/** 
* XML object serializer 
*/ 
function XML_Serialize($object) 
{ 
    require_once('/path/to/Serialized.php'); 
    $parser = new Serialized\Parser(serialize($object)); 
    return $parser->getDump('XML'); 
} 

不像XML_SerializerPEAR Package这是迄今为止单向的。然而,你已经专门写了“我需要序列化对象到XML”,所以我不完全确定你是否真的需要从XML反序列化。这可以通过将XML解析为序列化的数组表示来完成,这应该是相当简单的。

完成后,唯一剩下的就是调用该数组结构上的Serialized dumper并反序列化输出。