惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
量子位
腾讯CDC
A
About on SuperTechFans
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
T
Tailwind CSS Blog
V
V2EX
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
罗磊的独立博客
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
V
Visual Studio Blog
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
有赞技术团队
有赞技术团队

博客园 - 宝气狗

【摄影】2008年06月07日西塘 【摄影】2008年05月24日大明山 2007年11月——感受黄山,天下无山。 将基础数据类型与字节数组相互转换 托管/非托管类型对照 Enterprise Library中缓存过期策略探究 css中的nowrap 2007年9月15日 九溪-五云山-梅家坞之行 宝气狗的新闻博开始使用http://webbased.cn [设计模式] 15.Command 命令模式 [设计模式] 22.State 状态模式 [设计模式] 23.Strategy 策略模式 值类型装箱拆箱需要注意的地方 CLR如何控制类型中字段的布局 MSIL指令速查 内存一致性问题(续一) 内存一致性问题 如何循序渐进向DotNet架构师发展 关于将Queue中的数据拼接成xml的经验
【数据库】遍历XML根下的一级节点 - 宝气狗 - 博客园
宝气狗 · 2007-10-27 · via 博客园 - 宝气狗

今天在存储过程里解析下面这份XML时遇到了一个小问题。

DECLARE @Xml VARCHAR(4000)
SET @Xml = '
<?xml version="1.0" encoding="gb2312"?>
<X>
    <I>Hello</I>
    <I>World</I>
</X>
'

DECLARE @XmlHandler INT  
EXEC sp_xml_preparedocument @XmlHandler OUTPUT, @Xml
Select * FROM OPENXML(@XmlHandler, '/X', 2) WITH (I INT)
EXEC sp_xml_removedocument @XmlHandler

结果只出现一条记录

经分析,Xml解析器是从根下一级节点开始匹配的,修改如下
DECLARE @XmlHandler INT  
EXEC sp_xml_preparedocument @XmlHandler OUTPUT, @Xml
Select * FROM OPENXML(@XmlHandler, '/X/I', 2) WITH (I INT '.')
EXEC sp_xml_removedocument @XmlHandler

问题解决