XML--将XML中数据提取出转换成表
DECLARE @xml XML
SET @xml='
<Students>
<Student id="1001">
<name>aaa</name>
<age>20</age>
<birthday>1991-2-20</birthday>
</Student>
<Student id="1002">
<name>bbb</name>
<age>21</age>
<birthday>1990-2-20</birthday>
</Student>
</Students>
'
SELECT T.C1.value('../@id','VARCHAR(20)') AS StudentId,
T.C1.value('.','VARCHAR(20)') AS StudentName,
T.C1.value('../age[1]','VARCHAR(20)') AS StudentAge,
T.C1.value('../birthday[1]','datetime') AS StudentBirthDay
FROM @xml.nodes('/Students/Student/name') AS T(C1)
select T.C.value('@id','varchar(max)') as StudentId,
T.C.value('name[1]','varchar(max)') as StudentName,
T.C.value('age[1]','varchar(max)') as StudentAge,
T.C.value('birthday[1]','datetime') as StudentBirthDay
from @xml.nodes('/Students/Student') as T ( C )
Note:
1>. 表示当前节点
2> ..表示上级节点
3> @表示属性
4> 第一个节点为[0]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现