如何从“for xml path”获取结果?
Posted
技术标签:
【中文标题】如何从“for xml path”获取结果?【英文标题】:how to fetch result from "for xml path"? 【发布时间】:2010-12-21 21:05:02 【问题描述】:现在我有一个存储过程(SQL 服务器),它将从“for xml path”语句返回一个 XML。我尝试使用 ExecuteXmlReader 和 ExecuteReader 读取响应,但我一无所获。 我用谷歌搜索了一段时间,但仍然找不到如何提取返回值,或者如何检索返回值。我应该使用 ExecuteXmlReader 吗?或者是其他东西? 谢谢。
con.Open();
string result = "";
XmlReader tmp = cmd.ExecuteXmlReader();
while (tmp.Read())
string s = tmp.Value;
return result;
【问题讨论】:
【参考方案1】:ReadOuterXml
方法如果位于元素或属性节点上,则返回当前节点及其所有子节点,否则返回空字符串。您可以通过索引或名称读取节点属性。
XmlReader tmp = cmd.ExecuteXmlReader();
tmp.Read();
while (!tmp.EOF)
string name = tmp["AttributeName"];
string s = tmp.ReadOuterXml();
【讨论】:
事实证明这两种方法都有效。出了什么问题在我的 SP 中。但无论如何,谢谢 Phaedrus以上是关于如何从“for xml path”获取结果?的主要内容,如果未能解决你的问题,请参考以下文章
在没有 REPLACE 功能的情况下使用“FOR XML PATH”时如何避免字符编码
Sql Server 中FOR XML PATH(‘‘)函数用法