26

次の内容を含む XML ドキュメントがあります。

...
<foo>abc</foo>
...

評価したら

return $xml//foo

私は戻ってきます

<foo>abc</foo>

代わりに取得する方法はありますabcか?

4

5 に答える 5

31

はい、子テキストを選択するための text() 関数が必要です。

return $xml/text()

ただし、$xml 内にネストされたタグ構造がある場合は注意してください。これは、テキスト ノードに対して 1 レベルの深さしかないためです。すべてのテキスト ノードをまとめて、他の XML 構造を取り除きたい場合、これは任意の深さになります。

return $xml//text()
于 2009-07-20T18:54:16.210 に答える
8

要素内のデータのみを返すには、次を使用できます。

return data($xml)
于 2009-09-19T09:14:04.317 に答える
0

xs:string にキャスト {xs:string($xml/foo)}

于 2013-05-20T11:29:39.323 に答える
0

OSB (Oracle Service Bus) ユーザーは、次の機能を使用できます。

fn-bea:serialize($xml)

于 2014-12-15T10:22:58.303 に答える