Сериализатор и атрибуты XML Pear

Есть ли способ, чтобы «сказать» PEAR XML_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, как он должен сериализовать свойства исходного класса?

2

Решение

Сделали обзор кода и получили решение:

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

Делает трюк … все будет сериализовано как XML-элемент, но свойство «id» пользовательского элемента будет сериализовано как атрибут

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]