更改xml序列化程序的节点名称

时间:2017-10-27 09:20:41

标签: symfony xml-serialization

我正在尝试使用ArrayCollection和symfony Serializer在Symfony中生成站点地图。我的代码是:

$result = new ArrayCollection();

$result->add(array(
    "loc" => "http://example.com",
    "priority" => 1
));

$encoders = array(new XmlEncoder("urlset"));
$normalizer = new ObjectNormalizer();

$serializer = new Serializer(array($normalizer), $encoders);

$xmlContent = $serializer->serialize($items,'xml');

return $xmlContent;

除了节点名称错误外,它的效果非常好。生成的xml看起来像:

<urlset>
    <item key="0">
        <loc>http://example.com</loc>
        <priority>1</priority>
    </item>
</urlset>

我想要做的是将项目节点更改为 url 。有没有办法可以使用Symfony序列化器实现这一目标?

1 个答案:

答案 0 :(得分:1)

我仍然不知道symfony xml序列化程序是否可行。最后我使用https://jmsyst.com/libs/serializer并且它正在工作。