SqlServer中使用Xml

原创
小哥 3年前 (2022-11-16) 阅读数 47 #大杂烩

下图是我需要处理的xml格式,我的需求就是获取每个Element下的TextValue的值。


  
    
      
      
        
          
          
          
            
              2019-06-01
            
          
          2019-06-01
          
          初发病时间
          2019-06-01
          初发病时间
          初发病时间
        
        
          
          
          
            
              2019-06-01
            
          
          2019-06-01
          
          初诊时间
          
            Date
            YYYY-MM-DD
          
          2019-06-01
          初诊时间
          初诊时间
        
        
          
          
          
            
              公司职员
            
          
          公司职员
          
          
            
            true
            
          
          公司职员
          工作情况
          工作情况
        
        
          
          
          
            
              本科
            
          
          本科
          
          
            
            true
            
          
          本科
          文化程度
          文化程度
        
        
          
          
          
            
              未婚(恋爱史: 0 次)
            
          
          未婚(恋爱史: 0 次)
          
          
            
            true
            
          
          未婚(恋爱史:  次)
          婚恋情况
          婚恋情况
        
        
          
          
          
            
              不详
            
          
          不详
          
          家族史情况
          不详
          双击选择或者直接输入
          家族史情况
        
      
    
  

用query来定位到你想要的xml节点,就比如我这里,是要找Element下Name节点值为 "初发病时间" 的,找到后用value函数,找你当前结点下你想要的节点值,比如我这里就是要获取Element下的TextValue节点的值。

--用query来定位到你想要的xml节点,就比如我这里,是要找Element下Name节点值为"初发病时间"的,找到后用value函数,找你当前结点下你想要的节点值,比如我这里就是要获取Element下的TextValue节点的值。
SELECT xml字段名.query(XTextDocument/XElements/Element/XElements/Element[Name="初发病时间"]).value((/Element/TextValue)[1], nvarchar(20))
FROM 表
WHERE 筛选条件

执行结果如下:

第一次在数据库中来处理xml,大家如果有更好的获取方式可以评论区交流哦!!!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门