在另一个(超集)之上覆盖 1 个 Xml
本文关键字:覆盖 Xml 另一个 超集 | 更新日期: 2023-09-27 18:33:34
1st 所有可能的字段
<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,不幸的是,验证依赖于业务层和数据库。谢谢!