我有一个包含两列的SQL表。一个是身份,另一个是大型XML文档(源自我导入到SQL的InfoPath文档)。我有select语句从不同的节点拉取数据。一些节点中包含HTML。当使用select语句获取节点值时,它会从中删除所有HTML并返回文本。这些是RTF字段。有谁知道如何让它返回以保持标记?
我的选择陈述:
WITH XMLNAMESPACES (
'http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-01-06T15:50:09' AS my
)
SELECT
id,
rec.value('(/my:myFields/my:RoutineCare/my:field2837)[1]', 'nvarchar(max)') AS RoutNotes
FROM
tblXml
WHERE id = 14
GO
它返回的内容不包含您在下面看到的HTML,只包含该标记内的文本。
SQL表中的XML:
<my:field2837>
<html xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">
<div>
<font face="Times New Roman" size="1">
<font face="Times New Roman" size="1">
<p class="MsoNormal" style="margin:0in 0in 0pt"><span style="color:#1e3c7b"><font size="1" /></span></p>
<p class="MsoNormal" style="margin:0in 0in 0pt"><font size="2"><span style="color:#1e3c7b"><font face="Arial">INN: 100%, deductible waived<br /></font></span></font></p>
<p class="MsoNormal" style="margin:0in 0in 0pt"><font size="3"><font face="Arial"><font size="2" /></font></font> </p>
<p class="MsoNormal" style="margin:0in 0in 0pt"><font size="3"><font face="Arial"><font size="2">This plan utilizes the Mandated Benefit list - See Health Care Reform - Preventive Care Coverage PPM for age limits and benefits.<br /><br /></font></font></font></p></font>
</font>
<p class="MsoNormal" style="margin:0in 0in 0pt"><span style="font-family:&apos;color:red"><font size="3">This plan offers Expanded Women’s Health Services as outlined in UMR’s recommendation chart. See “Health Care Reform – Women’s Expanded Preventive Health Provision” PPM for specifics and benefits</font></span></p>
<p class="MsoNormal" style="margin:0in 0in 0pt"><span style="font-family:&apos;color:red"><font size="3" /></span> </p><span style="font-family:&apos;color:red">
<p class="MsoNormal" style="line-height:normal;margin:0in 0in 0pt"><font color="#000000"><font face="Arial"><b><u><span style="background:lime;font-size:10pt">Routine Covered Services</span></u></b><span style="background:lime;font-size:10pt">:<span> </span>apply In-Network benefits for services rendered by an Out-of-Network provider if services are not available from an In-Network provider within 50 miles from the covered member’s residence. U&C applies</span></font></font></p></span><span style="font-family:&apos;color:#1e3c7b;font-size:10pt" /></div>
</html>
</my:field2837>
答案 0 :(得分:0)
如果有人想知道,我想出来了:
CONVERT(nvarchar(max),t.rtf1.query('/ my:myFields / my:Ambulance / my:field2618 / child :: *'))AS AmbNotes
这 tblXml 交叉申请rec.nodes('/ my:myFields / my:Ambulance')AS t(rtf1) GO