1 先上代码和截图

 

代码
--定义XML文本
declare @xmlText varchar(1000)
--文档句柄
declare @hdoc int
--设定XML文本内容
set @xmlText =
'
<?xml version="1.0" encoding="gbk"?>
<root>
<Stu id1="03" studentName1="小张11"></Stu>
<Stu id1="04" studentName1="小李11"></Stu>
</root>
'
--解析XML文本内容
exec sp_xml_preparedocument @hdoc output,@xmlText

--读取XML的内容
select t.* from openxml(@hdoc,'root/Stu') with(id1 int,studentName1 varchar(20)) as t

exec sp_xml_removedocument @hdoc
id1 studentName1
----------- --------------------
3 小张11
4 小李11

(
2 行受影响)

sp_xml_preparedocument openxml用法

  下面摘自MSDN:

  读取作为输入提供的 XML 文本,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析,并提供分析后的文档供使用。分析后的文档对 XML 文档中的各节点(元素、属性、文本和注释等)的树状表示形式。

sp_xml_preparedocument 返回一个句柄,可用于访问 XML 文档的新创建的内部表示形式。该句柄在会话的持续时间内有效,或者通过执行 sp_xml_removedocument 使其在句柄失效前一直有效。

3 更详细用法参考文档

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
  • 2021-07-24
  • 2021-12-27
  • 2021-08-30
猜你喜欢
  • 2021-09-08
  • 2021-06-24
  • 2022-12-23
  • 2022-02-20
  • 2021-08-17
  • 2021-12-25
  • 2021-08-09
相关资源
相似解决方案