【数据库】遍历XML根下的一级节点
2007-10-27 23:04
204 查看
今天在存储过程里解析下面这份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
问题解决
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
问题解决
相关文章推荐
- 遍历简单XML节点
- javascript 递规法遍历xml树的属性和节点值
- MFC下XML遍历同名节点(Node)
- 实体转Xml存储和遍历所有Xml节点
- 数据库 SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点
- 【XML】遍历xml子节点
- ASP遍历XML节点
- 遍历XML节点
- js遍历xml节点树
- XmlDocument节点遍历(C#)
- 数据库 SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点
- 简单的XML文件操作(xml文件生成,节点追加、遍历、修改、删除)
- xml中有空值节点,导入到数据库null值
- Xml树状节点的遍历
- 详解SimpleXML添加_修改_删除_遍历XML节点属性
- 递归遍历XML所有节点
- 递规法遍历xml树的属性和节点值
- asp.net Linq To Xml上手Descendants、Elements遍历节点
- XML文件遍历实现中的下一节点获取函数--近似深度优先
- jQuery实现遍历XML节点和属性的方法示例