Użyj SQL Server, aby uzyskać wszystkie dane z węzłów XML o tej samej nazwie
Mam plik XML, w którym węzły, z których potrzebuję danych, są nazwane tak samo. Rozumiem, jak uzyskać dostęp do pierwszego (lub drugiego rekordu), więc poniższe zapytanie daje mi tylko drugiego autora (<a1>
etykietka). Jak uzyskać wszystkich autorów jako jedną kolumnę?
DECLARE @MyXML XML
SET @MyXML = '<refworks>
<reference>
<rt>Journal Article</rt>
<sr>Print(0)</sr>
<id>869</id>
<a1>Aabye,Martine G.</a1>
<a1>Hermansen,Thomas Stig</a1>
<a1>Ruhwald,Morten</a1>
<a1>PrayGod,George</a1>
<a1>Faurholt-Jepsen,Daniel</a1>
<a1>Jeremiah,Kidola</a1>
<a1>Faurholt-Jepsen,Maria</a1>
<a1>Range,Nyagosya</a1>
</reference>
</refworks>'
SELECT
author.value('(a1)[2]', 'varchar(MAX)') AS 'Author'
FROM @MyXML.nodes('/refworks/reference') AS ref(author)