I'm trying to read some data from xml file with T-Sql. The result I received from query are just columns name without any data.
So here is my xml file
<Xa xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<HeaderInfo ReportTitle="aaa" ReportDate="7/11/2019" ReportTime="8:10:31 PM" />
<FilterInfo FilterTitle="Source:" FilterCriteria="Primary" />
<FilterInfo FilterTitle="Store" FilterCriteria="003" />
<FilterInfo FilterTitle="Station" FilterCriteria="" />
<FilterInfo FilterTitle="Receipt Date/Time" FilterCriteria="7/11/2019 12:00:00 AM to 7/11/2019 11:59:59 PM" />
<FilterInfo FilterTitle="Workstation" FilterCriteria="3" />
<FilterInfo FilterTitle="Cashier" FilterCriteria="" />
<GrandTotals>
<GrTValues GrTValTitle="Sales" GrTValSales="817.36" GrTValReturns="14.50" GrTValNet="802.86" />
<GrTTotals GrTTotTitle="Total" GrTTotSales="817.36" GrTTotReturns="14.50" GrTTotNet="802.86" />
</GrandTotals>
</Xa>
and my T-sql query:
DECLARE @xmldata XML
SELECT @xmldata=BulkColumn
FROM
OPENROWSET (BULK 'C:\my.xml',SINGLE_BLOB) as T1
DECLARE @docHandle int
EXEC sp_xml_preparedocument @docHandle OUTPUT, @xmldata
SELECT
GrTValTitle, GrTValSales, GrTValReturns, GrTValNet
FROM
OPENXML(@docHandle, '/Xa/GrandTotals/GrTValues')
WITH (GrTValTitle nvarchar(20),
GrTValSales nvarchar(20),
GrTValReturns nvarchar(20),
GrTValNet nvarchar(20)
)
Can you tell me what's wrong with my query?

sp_xml_preparedocument; you should really be using XQUERY syntax.