Как сериализовать свойство как атрибут тега с помощью XmlEncoder? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть сущность с некоторыми свойствами, и я бы сериализовал некоторые из этих свойств как сериализованные атрибуты узла.

Я попытался добавить @SerializedName ("@ name"), но в результате я получил:

<Enitity>
<name>
Name
</name>
<Entity>

Мне нужно это

<Enitity name="name"/>

Это моя конфигурация сериализатора

public function serializeObjectToXml($object) {
        $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
        $normalizer = new ObjectNormalizer($classMetadataFactory);
        $normalizer->setCircularReferenceLimit(1);
        $normalizer->setCircularReferenceHandler(function ($object) {
            return $object->getId();
        });
        $encoder = new XmlEncoder('ROOT');

        $serializer = new Serializer(
            [$normalizer],
            [$encoder]
        );

        return $serializer->serialize($object, 'xml', ['use_attributes' => true, 'allow_extra_attributes' => false,]);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...