首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在XQuery中检索“外部标签”属性选择?

问如何在XQuery中检索“外部标签”属性选择?
EN

Stack Overflow用户
提问于 2020-06-29 02:40:32
回答 2查看 68关注 0票数 0

我有简单的下面的xml

代码语言:javascript
复制
<refData xmlns="">
<type name="listed">
    <typeID>LISTED_BUILDING</typeID>
</type>
<type name="cust_title">
    <typeID>TITLE</typeID>
</type>
</refData>

如何使用'typeID‘标记检索'type’名称属性?它的xQuery是什么?换句话说,如何检索与typeID匹配的“类型”名称属性?

EN

回答 2

Stack Overflow用户

发布于 2020-06-29 03:20:34

获取具有标题“typeID”的type的所有属性字符串值的一种方法如下:

代码语言:javascript
复制
let $file := doc("input.xml")/refData return
for $type in $file/type[typeID='TITLE']
return string($type/@name)

这里的输出是

cust_title

除了使用string()函数来处理属性的输出之外,这是每个XQuery教程一开始都会解释的基本内容。例如,您可以从W3Schools XQuery开始,但还有很多其他教程,其中一些可能更好。但看起来你应该先考虑读一本XPath tutorial。

票数 2
EN

Stack Overflow用户

发布于 2020-06-29 21:15:47

您使用了许多相关(但不是相同的)标签来标记您的故事。您在故事的标题中引用了xQuery。来自zx485的答案是一个完全有效的xQuery响应。

然而,我注意到,与标题相反,您留下了一条注释,说明您想要一个纯xPath示例。请看下面的xPath示例:

代码语言:javascript
复制
xquery version "1.0";

<refData xmlns="">
  <type name="listed">
    <typeID>LISTED_BUILDING</typeID>
  </type>
  <type name="cust_title">
    <typeID>TITLE</typeID>
  </type>
</refData>/type[./typeID/text() = "TITLE"]/@name

返回:cust_title

我实际选择的xPath是/type[./typeID/text() = "TITLE"]/@name

对于所选的类型,遍历与名为elements

  • Select

  • 的子元素的文本相匹配的类型,xPath the attribute
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62626747

复制
相关文章

相似问题

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