declare @xmlsample xml =
'<root>
<solution>
<solutionnumber>1</solutionnumber>
<productgroup>
<productcategory>
<price>100</price>
<title>Some product</title>
<tax>1</tax>
</productcategory>
</productgroup>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
<solution>
<solutionnumber>2</solutionnumber>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
</root>'
SELECT
--T.C.value('(./ancestor::ns1:solutionNumber)[1]', 'varchar(50)') AS solutionnumber ?? no clue
T.C.value('(price)[1]', 'numeric(18,2)') AS price
,T.C.value('(title)[1]', 'varchar(50)') AS title
,T.C.value('(tax)[1]', 'numeric(18,2)') AS tax
FROM @xmlsample.nodes('//node()[title]') AS T(C)
Eine Darstellung der XML, die ich versuche, in SQL Server 2008 r2 zu zerkleinern. Ich finde den "title" -Knoten und schnappe mir die Werte, die ich in der Produktkategorie benötige. Jetzt möchte ich die "Lösungsnummer" erhalten, aber dies könnte ein oder mehrere Elternknoten über dem Produkt sein, da es bestimmte Produkt- "Gruppen" gibt.SQL Server .nodes() XML übergeordnete Knoten nach Name
Wie würde ich gehen, überprüfen Sie die Elternknoten nach Namen ("Lösungsnummer"), bis ich es finde? Danke für jegliche Hilfe.
falsche Terminologie meinerseits. Ich suche immer noch nach "Lösungsnummer". – duffn