у меня есть это:.Как выбрать атрибут родительского узла и его дочерние значения с помощью XML и Xquery?
<pss>
<ps n="А parent node" m="654564654" t="435,8551" a="2857,2716">
<sc s="a1" a="25,4220"/>
<sc s="a2" a="0"/>
<sc s="a3" a="2395,9945"/>
</ps>
...
</pss>
нужно выбрать «атрибут А родительский узел м и a1 a2-а значения в одном запросе я попытался это, но он не работает:
SELECT ps.value('@m', 'nvarchar(50)') "parent node",
-- sc.value('@a1', 'nvarchar(50)') "название услуги",
-- sc.value('@a2', 'nvarchar(50)') "стоимость услуги",
ps.value('@a3, 'nvarchar(50)') "b","
FROM mts.dbo.bill
OUTER APPLY xCol.nodes('//Report/rp/pss/ps') AS A(ps)
OUTER APPLY xCol.nodes('//Report/rp/pss/ps/sc/.') AS B(sc)
Thanx заранее.
Thanx, но ERROR: XQuery [mts.dbo.bill.xCol.nodes()]: Там нет функции «{http://www.w3.org/2004/07/xpath-functions} :имя()'. –
«В предоставленном XML-документе нет атрибутов a1, a2 или a3!» - это атрибут «s» узел, извините –
@Kai: Мой ответ в чистом XPath 1.0 - вы не указали XQuery как тег !. Теперь я обновил ответ, и он будет работать как в XPath 1.0, так и в XPath 2.0 (XQuery - это надмножество XPath 2.0). –