mssql sp_xml_preparedocument 功能简介


sp_xml_preparedocument 功能简介

将一个xml格式的文本字符串读入至MSSQL内存中,并采用(msxmlsql.dll)分析器将字符串解析为xml格式文件,缓存只mssql内存中
并返回xml内部句柄(编号),通过此内部编号,我们可以访问相应的函数访问xml。

注意事项:
1 sp_xml_preparedocument 缓存器所占用mssql的内存上限为 sql server内存的八分之一
2 我们可以通过 sp_xml_removedocument + 内部句柄 释放缓存中的xml数据
3 sp_xml_preparedocument,缓存后的xml,我们可以通过相应的函数,访问xml的所有信息,例:元素 属性 文本 批注…。
4 xml中的文本信息,在mssql需注意大小写


sp_xml_preparedocument 用法简介

DECLARE @idoc int
DECLARE @textInfo varchar(1000)
SET @textInfo ='
< xml>
 < A>
 < keyId>1< /keyId>
 < name>test1< /name>
 < /A>
  < A>
 < keyId>2< /keyId>
 < name>information< /name>
 < /A>
< /xml>';

EXEC sp_xml_preparedocument @idoc OUTPUT, @textInfo     ---准备xml 

SELECT *
FROM openxml(@idoc,'/xml/A',2)
with (keyId varchar(30),
      name varchar(60)
)