有没有一种方法可以"告诉"PEARXML_Serializer,它应该将哪些属性序列化为属性,哪些作为子元素?
例如:
class User {
public $id;
public $name;
public $address;
}
应该这样序列化:
<User id="0">
<name>John Doe</name>
<address></address>
</User>
我曾想过使用"XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES"选项,但不幸的是,我需要一些标量作为属性,一些作为子元素。
有没有办法告诉XML_Serializer应该如何序列化源类的属性?
做了一些代码审查,得到了解决方案:
$serializer->setOption(
XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES => array(
"User" => array("id")
)
);
这个把戏。。。所有内容都将序列化为XML元素,但用户元素的"id"属性将序列化为属性