使用 Code Synthesis c++ 更改 XML 值

Change XML value using Code Synthesis c++

我需要使用 C++ 中的代码综合更改现有 XML 的一些值。

例如我有这个:

<person>
  <name>"Paul"</name>
</person>

现在我需要将其更改为 "Chris"。

我曾多次使用代码合成进行解析,但从未写入 XML。

p.s 是的,我用 "Generate Serialization" 选项编译了我的 XSD。

谢谢

从 person 元素的模式类型生成的 C++ class 可能有一个用于设置名称的成员函数:

void name(const ::xml_schema::string& s);

然后您可以像这样将名字更改为 Chris:

person.name("Chris");

您可以在 C++/树映射入门指南中找到更多信息。参见第 2.5 章:Adding Serialization.

还有一个小代码示例,将XML文件读入Codesynthesis数据模型,然后修改一些值,最后序列化回XML。见 library example.