【发布时间】:2017-06-14 13:35:52
【问题描述】:
我正在尝试使用 OPENXML 函数组合来自不同节点的信息。例如,使用以下 xml 数据,我想尽可能多地填写数据并根据“PartyId”加入,这样我就可以从“MoreInfo”中获取“PartyRoleCode”:
<Root>
<Parties>
<Party PartyId="Party_1">
<PartyTypeCode PartyTypeCode="Bastard"></PartyTypeCode>
<PersonInfo>
<FirstName>Jon</FirstName>
<LastName>Snow</LastName>
<Gender>M</Gender>
</PersonInfo>
<EmailAddress>knowsnothing@gmail.com</EmailAddress>
</Party>
<Party PartyId="Party_2">
<PartyTypeCode PartyTypeCode="Stark"></PartyTypeCode>
<PersonInfo>
<FirstName>Eddard</FirstName>
<LastName>Stark</LastName>
</PersonInfo>
</Party>
</Parties>
<MoreInfo>
<Parties>
<PartyRef PartyId="Party_1">
<PartyRole PartyRoleCode="Nights Watch"></PartyRole>
</PartyRef>
<PartyRef PartyId="Party_1">
<PartyRole PartyRoleCode="Wildling"></PartyRole>
</PartyRef>
<PartyRef PartyId="Party_2">
<PartyRole PartyRoleCode="Kings Hand"></PartyRole>
</PartyRef>
</Parties>
</MoreInfo>
</Root>
我怎样才能输出以下内容:
PartyRolecode FirstName LastName Gender Email Address
------------- --------- -------- ------ -------------
Nights Watch Jon Snow M knowsnothing@gmail.com
Wildling Jon Snow M knowsnothing@gmail.com
Kings Hand Eddard Stark
【问题讨论】:
-
FROM OPENXML与相应的 SP 准备和删除文档已过时,不应再使用(存在罕见的例外情况)。而是使用适当的methods the XML data type provides。
标签: xml tsql xpath xml-parsing xquery