【发布时间】:2013-10-01 03:26:18
【问题描述】:
第一个所有可能的字段
<HRMasterData>
<MasterPersonDossier>
<MasterPerson>
<PersonDetails>
<PersonID></PersonID>
<PersonName>
<GivenName></GivenName>
<PreferredName></PreferredName>
<MiddleName></MiddleName>
<FamilyName></FamilyName>
<FormerFamilyName></FormerFamilyName>
<TitleAffixCode></TitleAffixCode>
<PersonNameInitials></PersonNameInitials>
<NewField></NewField>
</PersonName>
<EffectiveDateTime></EffectiveDateTime>
<HomeCountry></HomeCountry>
<NewField></NewField>
</PersonDetails >
</MasterPerson>
</MasterPersonDossier>
</HRMasterData>
第二个数据,并非所有字段都存在
<HRMasterData>
<MasterPersonDossier>
<MasterPerson>
<PersonDetails>
<PersonID>abc</PersonID>
<PersonName>
<GivenName>Smith</GivenName>
<PreferredName>Jack </PreferredName>
<MiddleName>John</MiddleName>
<TitleAffixCode>Mr.</TitleAffixCode>
<PersonNameInitials>w</PersonNameInitials>
</PersonName>
<EffectiveDateTime>2011-01-11</EffectiveDateTime>
<HomeCountry>US</HomeCountry>
</PersonDetails >
</MasterPerson>
</MasterPersonDossier>
</HRMasterData>
我想将第二个文档的现有值覆盖到第一个文档(超集)上。然后,我将一个外部系统映射到超集,映射第二个没有的字段(即 Newfield)。然后所有数据都被推送更新。
最好的方法是什么?
我尝试了数据集合并,但遇到了问题。我的后备将是 2 个循环检查第二个标签是否存在并更新第一个 xml。
提前致谢
【问题讨论】:
-
字段的名称是否总是相同的,只是缺少一些字段?另外,您是否有定义架构的 XSD 文件,或者只是第一个示例中的模板 xml?