0
DECLARE @str NVARCHAR(MAX)
SET @str =
'<bands >
<title>my bands</title>
<band>
<fullName>beatles</fullName>
<members>
<member age="12">john </member>
<member age="13">paul </member>
<member age="14">george </member>
<member age="15">ringo </member>
</members>
</band>
<band>
<fullName>doors</fullName>
<members>
<member age="20">jim </member>
<member age="50">ray </member>
<member age="40">john </member>
<member age="30">robby </member>
</members>
</band>
</bands>'
クエリ:SQL Server OPENXMLが正しく動作しませんか?
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @str
SELECT *
FROM OPENXML (@idoc, '/bands/band/members',2)
WITH (member NVARCHAR(MAX) )
私の結果は以下のとおりです。
はなぜですか?
私は全体のメンバーを見ることが期待されています.... XPATH /bands/band/members
は、複数の子を含むノードを参照しています。
私は間違っていますか?
+1メンバーのすべてを与える必要があります - myneが仕事didntはなぜ – Lamak
はあなたがexaplinできる完璧な作品? –
文書全体に「」のインスタンスが2つしかないので、2行しか戻っていませんでした。 ''を選択したときに、XPathが停止し、子に移動しなかった場所です。また、 '.'は現在の要素の値を返します。 –