【发布时间】:2017-12-14 10:52:21
【问题描述】:
我正在尝试构建一个肥皂消息,并且我能够使用单个选择来构建整个消息。除了问题是,在少数情况下,相同的节点名称会重复两次。
例如,所需的输出结果应该是这样的,有两个独立的id root 节点:
<SoapDocument>
<recordTarget>
<patientRole>
<id root="1.2.3.4" extension="1234567" />
<id root="1.2.3.5.6" extension="0123456789" />
</patientRole>
</recordTarget>
</SoapDocument>
我尝试使用我对 xpath 的稀疏知识来构造节点名称,如下所示:
select
'1.2.3.4' AS 'recordTarget/patientRole/id[1]/@root',
'1234567' AS 'recordTarget/patientRole/id[1]/@extension',
'1.2.3.5.6' AS 'recordTarget/patientRole/id[2]/@root',
'0123456789' AS 'recordTarget/patientRole/id[2]/@extension'
FOR XML PATH('SoapDocument'),TYPE
显然 xpath 命名不能像这样应用于列名id[1] 和 id[2]?我在这里遗漏了什么还是符号应该不同?构建所需结果的最简单方法是什么?
【问题讨论】:
标签: sql-server xml xpath