使用代码合成c++更改XML值

Change XML value using Code Synthesis c++

本文关键字:更改 XML c++ 代码      更新时间:2023-10-16

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

例如,我有这个:

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

现在我需要把它改成"克里斯"。

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

p.s是的,我已经用"生成序列化"选项编译了XSD。

感谢

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

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

然后你就可以这样把名字改成Chris了:

person.name("Chris");

您可以在《C++/树映射入门指南》中找到更多信息。请参阅第2.5章:添加序列化。

还有一个小代码示例,它将XML文件读入Codesynthesis数据模型,然后修改一些值,最后将其序列化为XML。请参见库示例。