首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于提取ArrayOfString的SQL Server XPath查询

用于提取ArrayOfString的SQL Server XPath查询
EN

Stack Overflow用户
提问于 2013-08-07 23:46:01
回答 1查看 343关注 0票数 0

如何编写xpath查询,使其返回一个具有字符串数组的对象?似乎无法获取值或字符串。

代码语言:javascript
复制
<Info>
  <EmailAddresses>
    <string>email1</string>
    <string>email2</string>
    <string>email3</string>
  </EmailAddresses>
</Info>

SELECT Table.[Object].value('(//Info/EmailAddresses)[1]','nvarchar(max)') As 'EmailAddresses' from Table where ... 

导致无法隐式原子化或将“fn:data()”应用于复杂的内容元素,在推断类型“”element“”中找到类型“”ArrayOfString“”(

代码语言:javascript
复制
SELECT Table.[Object].query('(/Info/EmailAddresses)[1]') As 'EmailAddresses' from Table where ... 

将返回整个

代码语言:javascript
复制
  <EmailAddresses>
    <string>email1</string>
    <string>email2</string>
    <string>email3</string>
  </EmailAddresses>

这使得在代码中解析变得很奇怪,因为它必须被传输到object,而不是C#中的字符串列表

EN

回答 1

Stack Overflow用户

发布于 2013-08-08 10:37:04

此示例查询返回xml中的电子邮件列表

代码语言:javascript
复制
declare @x xml
set @x = 
'<Info>
  <EmailAddresses>
    <string>email1</string>
    <string>email2</string>
    <string>email3</string>
  </EmailAddresses>
</Info>'

SELECT r.nref.value('.','nvarchar(max)') As 'EmailAddresses' 
from @x.nodes('/Info/EmailAddresses/*') r(nref)

然后,您可以在C#中以任何您想要的方式解析此结果集中的字符串-将它们放入字符串数组或其他内容中……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18107848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档