Как запросить значения из узлов XML?
у меня есть таблица, которая содержит столбец XML:
CREATE TABLE Batches(
BatchID int,
RawXml xml
)
XML содержит элементы, такие как:
1
4
2
4
3
4
4
4
Я хочу создать набор, который содержит:
OrganizationReportReferenceNumber OrganizationNumber
================================= ==================
1 4
2 4
3 4
4 4
мы пробовали:
SELECT
foo.value('/ReportHeader/OrganizationReportReferenceIdentifier') AS ReportIdentifierNumber,
foo.value('/ReportHeader/OrganizationNumber') AS OrginazationNumber
FROM CDRBatches.RawXML.query('/GrobReportXmlFileXmlFile/GrobReport/ReportHeader') foo
но это нет работа. я'мы пробовали:
SELECT
foo.value('/ReportHeader/OrganizationReportReferenceIdentifier') AS ReportIdentifierNumber,
foo.value('/ReportHeader/OrganizationNumber') AS OrginazationNumber
FROM RawXML.nodes('/GrobReportXmlFileXmlFile/GrobReport/ReportHeader') bar(foo)
Но это нет работа.XPath выражение
/GrobReportXmlFileXmlFile/GrobReport/ReportHeader
верно; в любой другой системе XML это возвращает:
1
4
2
4
3
4
4
4
Так что'из моих запросов очевидно, что ялайк видеть. Прочитав дюжину вопросов и ответов по Stackover, ям не ближе к решению проблемы.