我有简单的下面的xml
<refData xmlns="">
<type name="listed">
<typeID>LISTED_BUILDING</typeID>
</type>
<type name="cust_title">
<typeID>TITLE</typeID>
</type>
</refData>如何使用'typeID‘标记检索'type’名称属性?它的xQuery是什么?换句话说,如何检索与typeID匹配的“类型”名称属性?
发布于 2020-06-29 03:20:34
获取具有标题“typeID”的type的所有属性字符串值的一种方法如下:
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。
发布于 2020-06-29 21:15:47
您使用了许多相关(但不是相同的)标签来标记您的故事。您在故事的标题中引用了xQuery。来自zx485的答案是一个完全有效的xQuery响应。
然而,我注意到,与标题相反,您留下了一条注释,说明您想要一个纯xPath示例。请看下面的xPath示例:
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
https://stackoverflow.com/questions/62626747
复制相似问题