Xquery节点值,其中节点以相同文本开头

Xquery节点值,其中节点以相同文本开头,xquery,startswith,nodename,Xquery,Startswith,Nodename,如何创建xquery以选择节点名称以文本开头的节点值。例如文档 <doc> <cpv1>Value1</cpv1> <cpv2>Value2</cpv2> <cpv3>Value3</cpv3> <zzz>Hello world!</zzz> </doc> 价值1 价值2 价值3 你好,世界! 它应该得到Value1、Value2、Value3这是

如何创建xquery以选择节点名称以文本开头的节点值。例如文档

<doc>
   <cpv1>Value1</cpv1>
   <cpv2>Value2</cpv2>
   <cpv3>Value3</cpv3>
   <zzz>Hello world!</zzz>
</doc>

价值1
价值2
价值3
你好,世界!

它应该得到Value1、Value2、Value3这是一个xpath表达式,它为您提供了Value1、Value2、Value3:
//*[substring(text(),1,5)=“Value”]/text()

/doc/*[fn:以(fn:local-name(),'cpv')]/text()开头,因此DocumentRequest节点包含别名节点。我选择以前缀val开头的所有别名节点

<ArrayOfDocumentRequest>
    <DocumentRequest>
        <Alias>
            prefix1_OtherText
        </Alias>
    </DocumentRequest>
    <DocumentRequest>
        <Alias>
            prefix2_OtherText
        </Alias>
    </DocumentRequest>
</ArrayOfDocumentRequest>

<F_PREFIXLIST>
    <prefixes>
        <p>prefix1</p>
        <p>prefix2</p>
        <p>prefix3</p>
    </prefixes>
</F_PREFIXLIST>

for $i in /ArrayOfDocumentRequest
    for $p in $F_PREFIXLIST/prefixes/p                 
        return $i/DocumentRequest/Alias[fn:starts-with(text(), $p/text())]

前缀1\u其他文本
前缀x_其他文本
前缀1

prefix2

前缀x3

对于$i in/ArrayOfDocumentRequest 对于$F_前缀列表中的$p/前缀/p 返回$i/DocumentRequest/Alias[fn:以(text(),$p/text())开头]