最初の子を取得したいXMLのビットがあります。これまでのところ、私はthuslyそれを行うことができました:より効率的な方法があるかどうSQLXMLを使用しているxmlドキュメントの最初の子
DECLARE @x XML = '<a><b foo="bar">some data</b><b foo="baz"/></a>'
SELECT @x.query('(/a/child::*)[1]')
は、私は思ったんだけど。私の問題は、 "a"タグに続く要素は実行時までわかりません。だからと言って、ただ
@x.query('(/a/b)[1]')
は私にとってはうまくいかないと言っています。 "a"の後のタグは "c"でもかまいません。そのために1つのクエリが必要です。
これは私のクエリと同じ問題を抱えているようです。すなわち、「すべてをつかむ」アプローチを指定してから最初の要素を取ります。これが何らかの形で最適化されている場合を除き(私はこれを参照したいと思います)。 –
最初の子のノードタイプが分からない限り、*セレクタを使用する必要があります。 –