2
使用XSLT,我想弄清楚如何合并/更新一组节点中的数据与另一组节点中的数据。节点具有相同的模式,但父母不同。数据需要根据共享的父属性进行合并。在下面的示例中,数据正在从主体复制到驱动程序。有人可以帮我从这里出去吗?使用XSLT将数据从XML节点合并到另一个节点
输入文件:
<Info>
<Principal id="Insured">
<PersonName>
<GivenName>Jane</GivenName>
<OtherGivenName>A</OtherGivenName>
<Surname>Doe</Surname>
</PersonName>
<PersonInfo>
<BirthDate>01-01-1980</BirthDate>
<MaritalStatus>M</MaritalStatus>
</PersonInfo>
<PrincipalInfo></PrincipalInfo>
</Principal>
<Policy>
<Driver id="Insured">
<PersonName>
<GivenName>Jane</GivenName>
<Surname>Smith</Surname>
</PersonName>
<PersonInfo>
<BirthDate>01-01-1980</BirthDate>
<MaritalStatus>S</MaritalStatus>
<Occupation>Manager</Occupation>
</PersonInfo>
</Driver>
<PolicyInfo></PolicyInfo>
</Policy>
</Info>
所需的结果:
<Info>
<Principal id="Insured">
<PersonName>
<GivenName>Jane</GivenName>
<OtherGivenName>A</OtherGivenName>
<Surname>Doe</Surname>
</PersonName>
<PersonInfo>
<BirthDate>01-01-1980</BirthDate>
<MaritalStatus>M</MaritalStatus>
</PersonInfo>
<PrincipalInfo></PrincipalInfo>
</Principal>
<Policy>
<Driver id="Insured">
<PersonName>
<GivenName>Jane</GivenName>
<OtherGivenName>A</OtherGivenName>
<Surname>Doe</Surname>
</PersonName>
<PersonInfo>
<BirthDate>01-01-1980</BirthDate>
<MaritalStatus>M</MaritalStatus>
<Occupation>Manager</Occupation>
</PersonInfo>
</Driver>
<PolicyInfo></PolicyInfo>
</Policy>
</Info>
这是真的吗?你基本上用新值替换PersonName。没有合并发生。 – Flack 2011-02-12 16:42:06
驱动程序子节点中可能存在额外的节点,我想离开,因此只更换整个节点不起作用。注意我的例子中的。 –
2011-02-12 17:02:45