相当于java中的boost xml (nvp)序列化

发布于 2024-11-09 01:05:44 字数 693 浏览 0 评论 0原文

我正在从 C++ 转向 Java,并且已经习惯了 boost 序列化对 xml 的工作方式。它的优点是:

  1. 我只需编写一个函数即可用于解析和生成 XML。该函数基本上是字段值和 xml 标记名称之间的映射。

  2. 生成的XML是轻量级的,只包含我们想要保存的信息(没有关于字段类型、类名的信息...)

我正在寻找在 JAVA 中具有相同优点的东西。这是一个 C++ 示例:

  struct ContractDefinition
    : public fme::ToStringInterface
  {
  public:
    std::string name;

    template<class archive>
    void serialize(archive& ar, const unsigned int FME_UNUSED(version))
    {
      using boost::serialization::make_nvp;
      ar & make_nvp< std::string >("name", name);
    }    
  };

结果如下所示:

<name>WHATEVER THE NAME IS</name>

I am moving from C++ to Java, and I am used to the way boost serialization works for xml. What is very good with it is:

  1. that I only have to write one function that is used for both parsing and generating the XML. This function is basically a mapping between the field value and the name of the xml tag.

  2. that the XML generated is light weight, and only contain the information we want to save (no information about the type of the field, the name of the class...)

I am looking for something that would have the same advantages, in JAVA. Here is a C++ example:

  struct ContractDefinition
    : public fme::ToStringInterface
  {
  public:
    std::string name;

    template<class archive>
    void serialize(archive& ar, const unsigned int FME_UNUSED(version))
    {
      using boost::serialization::make_nvp;
      ar & make_nvp< std::string >("name", name);
    }    
  };

and the result looks like that:

<name>WHATEVER THE NAME IS</name>

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

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

发布评论

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

评论(1

把昨日还给我 2024-11-16 01:05:44

查看 jaxb

Take a look at jaxb.

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