次の内容を含む XML ドキュメントがあります。
...
<foo>abc</foo>
...
評価したら
return $xml//foo
私は戻ってきます
<foo>abc</foo>
代わりに取得する方法はありますabcか?
はい、子テキストを選択するための text() 関数が必要です。
return $xml/text()
ただし、$xml 内にネストされたタグ構造がある場合は注意してください。これは、テキスト ノードに対して 1 レベルの深さしかないためです。すべてのテキスト ノードをまとめて、他の XML 構造を取り除きたい場合、これは任意の深さになります。
return $xml//text()
要素内のデータのみを返すには、次を使用できます。
return data($xml)
xs:string にキャスト
{xs:string($xml/foo)}
OSB (Oracle Service Bus) ユーザーは、次の機能を使用できます。
fn-bea:serialize($xml)