0

ノード名がテキストで始まるノード値を選択するための xquery の作成方法。たとえば、ドキュメント

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

Value1、Value2、Value3 を取得する必要があります。

4

3 に答える 3

3

したがって、DocumentRequest ノードには Alias ノードが含まれます。プレフィックス val で始まるすべての Alias ノードを選択します。

<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())]
于 2012-01-20T14:46:03.247 に答える
3

//doc/*[fn:starts-with(fn:local-name(), 'cpv')]/text()

于 2010-09-13T16:51:45.803 に答える
1

Value1、Value2、Value3 を指定する xpath 式は次のとおりです。 //*[substring(text(), 1,5) ="Value"]/text()

于 2010-09-13T14:01:31.090 に答える