XML 路径在执行查询时返回<的"<"和>的">"。 如何获取原始值?



我有一个查询,该查询是根据条件中的一些文本产生一些文本。但是不要担心所有条件,我只会在" MD.othermedication ='othermedication'及其评论显示时面临问题。

因此,如果评论具有像<shubham>一样的价值然后它返回

 &lt;shubham&gt;

这不是预期的结果。以下是我正在使用的查询。

Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' THEN md.Comment ELSE '' END
        FROM Medication md
        WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N'')

我期望<shubham>作为结果。

尝试使用value()方法(XML数据类型)施放XML

select (Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' 
                    THEN md.Comment ELSE '' END
        FROM Medication md
        WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N''),TYPE).value('.','varchar(max)')

以上将删除所有类型的XML标签,并会给您纯文本。

&lt;&gt;是XML的less thangreater than标签。您可以在查询中替换它们:

Select '' + CASE WHEN md.OtherMedication = 'OTHERMEDICATION' 
THEN Replace(Replace(md.Comment, '&lt;', '<'), '&gt;', '>') ELSE '' END
FROM Medication md
WHERE md.HraDiagnosisId = 94121 FOR XML PATH(N'')

相关内容

  • 没有找到相关文章

最新更新