Pear XML Serializer和Attributes

时间:2015-03-26 14:25:11

标签: php xml serialization xml-serialization pear

有没有方法可以告诉" PEAR XML_Serializer,它的属性应该作为属性序列化,哪个作为子元素?

例如:

class User {
  public $id;
  public $name;
  public $address;
}

应该像这样序列化:

<User id="0">
  <name>John Doe</name>
  <address></address>
</User>

我考虑过使用&#34; XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES&#34;选项,但不幸的是,我需要一些标量作为属性,一些作为子元素。

有没有办法告诉XML_Serializer他应该如何序列化源类的属性?

1 个答案:

答案 0 :(得分:3)

完成一些代码审查并获得解决方案:

$serializer->setOption(
  XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES => array(
    "User" => array("id")
  )
);

诀窍......一切都将被序列化为XML-Element,但用户元素的“id”属性将被序列化为Attribute