C 添加自定义XML标签,用于序列化对向量
C++ Add Customize XML Tag for Serializing Vector of Pairs
c 添加XML标签,用于序列化的对向量
在我最近的项目中,我想实现一个模板类,这是非常简单的,它包含std ::配对数据的向量。代码段如下:
template <class TKey, class TValue>
class DataModel
{
public:
DataModel() = default;
~DataModel() = default;
private:
std::vector<boost::shared_ptr<std::pair<TKey, TValue>>> mData = {};
}
我的项目要求是序列化MDATA。我在Boost中使用了序列化工具来实现此功能。代码段如下:
friend class boost::serialization::access;
template <typename Archive>
void serialize( Archive &ar, const unsigned int version )
{
ar &boost::serialization::make_nvp( "Data", mData );
}
使用Boost的序列化工具非常简单明了。但是,一个问题是最终XML文件中的STD :: PAIRE元素的XML标签由Boost代码控制,并且不可读。我想在输出XML文件中添加一些有意义的XML标签。下面喜欢的东西:
<item>
<key>{KeyValue}</key>
<value>{Value}</value>
</item>
当然,Boost不会像上述可读XML标签那样序列化。是否可以修改我的上述序列化代码以使最终的XML文件包含有意义的XML标签?
问题不是重复,但您可以使用此解决方案
如何自定义默认的boost xml序列化默认节点命名以使其更可读
相关文章:
- 使用构造函数作为成员函数的 C++(用于序列化)
- C++中的对象序列化,用于存储 OpenCV 的 SVM 对象 [OpenCV 3.1.0]
- C 添加自定义XML标签,用于序列化对向量
- 用于序列化/反序列化目的的标准C++代码
- ifstream/ofstream真的用于序列化吗
- 如何序列化一个8位整数的结构用于套接字编程
- 如何过载<<用于YAML::Emitter的运算符,以序列化包含另一个自定义类的向量的自定义类
- 如何在Boost serialization中创建用于序列化的接口
- 用于类自动生成序列化函数的宏
- 用于序列化的来自CObject的派生将导致访问时出现编译器错误
- 保证用于序列化目的的reinterpret_cast输出
- 提升序列化不适用于shared_ptr<int>
- 如何编写用于boost序列化的双精度包装器
- 用于c++的序列化库
- 我如何重载序列化boost函数,使其一个用于文件存储,另一个用于tcp消息
- Boost Fusion和Boost property_tree用于结构的反序列化
- 提升 MPL 以生成用于对象序列化的代码
- C ++ Linux 库,用于创建 XML 和从 XML 读取(序列化/反序列化)
- 获取用于非侵入性提升序列化C++的私有数据成员
- visual studio -在哪里可以获得神话般的Microsoft msgtool,用于c++序列化