使用 XStream 序列化对象时添加属性

发布于 2024-10-06 07:30:36 字数 560 浏览 9 评论 0原文

我正在使用 XStream 将 Java 对象序列化为 XML。是否可以自定义 XStream,以便在序列化对象时在根 XML 元素中插入属性?

假设我

class A{
 int foo = 1;
}

希望 XStream 序列化 A 的实例,如下所示:

<A type="text/xml">
 <foo>1</foo>
</A>

其中属性 text/xml 自动添加到根元素。

我的用例是序列化我的 java 对象并将其作为 Atom 条目文档中的内容元素插入。最终结果如下:

<feed>
<content type="text/xml">
<foo>1</foo>
</content>
</feed>

我不需要能够解组提要。我需要一个与我正在序列化的对象的类无关的通用解决方案。

我可以使用 XStream 实现此目的吗?

I am using XStream to serialize Java objects to XML. Is it possible to customize XStream so that when it serializes an object it inserts an attribute in the root XML element?

Let's say I have

class A{
 int foo = 1;
}

I want XStream to serialize instances of A to look like:

<A type="text/xml">
 <foo>1</foo>
</A>

Where the attribute text/xml is automatically added to the root element.

My use case is serializing my java object and insert it as the content element inside Atom entry documents. The end result would look like:

<feed>
<content type="text/xml">
<foo>1</foo>
</content>
</feed>

I do not require being able to unmarshall the feed. I need a generic solution that is agnostic to the class of the object I am serializing.

Can I achieve this with XStream?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅哥哥的热头脑 2024-10-13 07:30:36

唯一的方法是 XStream.useAttributeFor(...) 方法。

这将迫使您为您正在使用的每种对象类型配置 XStream,因此不是不可知的。

所以我不认为 XStream 是您需要的工具。

The only way are the the XStream.useAttributeFor(...) methods.

This would force you to configure XStream for each object type you are using though, thus not agnostic.

So I don't think XStream is the tool you need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文