我有一份简历的XML Feed。简历的每个部分都分解为其组成部分。例如<employment_history>
,<education>
,<skills>
。
我知道我可以将XML文件的每个部分保存到数据库中。例如columnID = employment_history |教育|技能与然后在这些单独的列上进行自由文本搜索。但是我不愿意这样做,因为它会创建已包含在XML文件中的数据重复,并可能给索引带来额外的压力。
因此,我想知道是否可以使用SQL Server在<employment_history></employment_history>
内对XML文件进行自由文本搜索。
如果是这样,我们将不胜感激。
答案 0 :(得分:4)
您是否知道SQL Server支持数据类型为“XML”的列?这些可以包含整个XML文档。
您还可以索引这些列,并且可以使用XQuery在这些列上执行查询和数据操作任务。
请参阅Designing and Implementing Semistructured Storage (Database Engine)
答案 1 :(得分:0)
通过使用sql进行字符串搜索来查询xml可能会遇到很多麻烦。
相反,我会将其解析为您用于与数据库交互的任何语言,并使用xpath(大多数语言/环境具有某种内置或流行的第三方库)来查询它。
答案 2 :(得分:0)
我认为你可以创建一个函数(UDF),它将xml文本作为参数,然后它获取标签内的数据然后你制作你想要的过滤器