Während dies funktioniert local-name(.)
Knotennamen wie aufgezeigte here abrufen kann ich nicht eine Tabelle mit Lebenslauf Vorname und Lebenslauf Nachname für jeden Job-Kandidaten.T-SQL-XQuery-Node-Wert Pfad nicht übereinstimmend
USE AdventureWorks2012;
WITH XMLNAMESPACES(
'http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume'
AS ns)
SELECT
T.rows.value('(ns:Name.First)[1]', 'nvarchar(100)') AS firstName,
T.rows.value('(ns:Name.Last)[1]', 'nvarchar(100)') AS lastName
FROM HumanResources.JobCandidate
CROSS APPLY
Resume.nodes('//ns:Name/*') AS T(rows);
Die Fehlernachricht listet die Knoten auf, die sich im Kontext befinden, einschließlich des scheinbar Zielknotens.
XQuery [HumanResources.JobCandidate.Resume.value()]: Es gibt kein Element den Namen "{} http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume: Name.First" in dem Typ „Element (ns {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}: Name .Prefix, xs: string) | Element (ns {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}: Name.First, xs: string)
...
Element (ns {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}: Name.Last, xs: string) | Element (ns {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}: Name.Suffix, xs: string).“
Ist das Problem, dass die element
eine Ebene nach unten