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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
B
Blog RSS Feed
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
D
Docker
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
H
Help Net Security
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
博客园 - Franky
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog

博客园 - 宝气狗

【摄影】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

问题解决