sách gpt4 ai đã đi

xml - Symfony Serializer XML 向根节点添加自定义属性

In lại 作者:行者123 更新时间:2023-12-03 20:25:44 25 4
mua khóa gpt4 Nike

使用 Serializer 组件(在 Symfony4 中)生成 XML 文件时,我想向根节点添加自定义属性,但我不知道如何添加。

tài liệu提及如何命名根节点,但未提及如何添加自定义属性。

在我的服务中,我有:

use Symfony\Component\Serializer\Serializer;
// ..

// $this->serializer is auto-wired
$this->serializer->serialize($myEntityObjectToSerialize, 'xml', [
'xml_format_output' => true,
'xml_encoding' => 'utf-8',
'xml_root_node_name' => 'document'
]);

这会产生:


// ...


但我想要这样的东西:


// ...


我不知道我错过了什么。
感谢您的帮助。

1 Câu trả lời

好的,我想通了。

阅读更多关于 XmlEncoder我看到为了向节点添加属性,您可以使用 @符号和 #为值(value)。

serialize()自动创建根节点并将其包装在我的实体数据周围,我只需要首先定义它以及我的实体,然后将其传递给序列化方法,如下所示:

$rootNode = [
'@id' => 12345,
'@lang' => 'Eng',
'#' => $myEntityObjectToSerialize
]

// $this->serializer is auto-wired
$this->serializer->serialize($rootNode, 'xml', [
'xml_format_output' => true,
'xml_encoding' => 'utf-8',
'xml_root_node_name' => 'document'
]);

现在它产生了我想要的结果。
希望这对 future 的任何人都有帮助。

关于xml - Symfony Serializer XML 向根节点添加自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61735681/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com