【问题标题】:Overlay 1 Xml on top of Another (superset)在另一个(超集)之上覆盖 1 个 Xml
【发布时间】: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?

标签: c# asp.net xml xslt merge


【解决方案1】:

是的,名称将相同。顺序是一个序列。只是有些会在第二个文件中丢失。我没有 xsd,不幸的是,验证依赖于业务层和数据库。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2011-10-06
    相关资源
    最近更新 更多