كيفية الحصول على اسم كل سمة ، والقيمة واسم عنصر الوالدين في SQLXML؟
سؤال
بالنظر إلى هذا SQL:
DECLARE @content XML
SET @content =
'<people>
<person id="1" bimble="1">
<firstname bobble="gomble">John</firstname>
<surname>Doe</surname>
</person>
<person id="2" bimble="11">
<firstname bobble="zoom">Mary</firstname>
<surname>Jane</surname>
</person>
<person id="4" bimble="10">
<firstname bobble="womble">Matt</firstname>
<surname>Spanner</surname>
</person>
</people>'
أرغب في استرداد كل سمة ، إنها قيمة واسم عنصر الوالدين كجدول:
Parent Name Attribute Name Attribute Value
----------- -------------- ---------------
person id 1
person bimble 1
firstname bobble gomble
person id 2
person bimble 11
firstname bobble zoom
person id 4
person bimble 10
firstname bobble womble
المحلول
إجابتي الأولية (على سؤالي الخاص):
SELECT
elem.value('local-name(..)', 'nvarchar(10)') AS 'Parent Name',
elem.value('local-name(.)', 'nvarchar(10)') AS 'Attribute Name',
elem.value('.', 'nvarchar(10)') AS 'Attribute Value'
FROM
@content.nodes('//@*') AS El(elem)
لا تنتمي إلى StackOverflow