在多个XML文件中查询数据

问题描述 投票:0回答:0

我的下面的查询只对一个XML文件有效,但我需要查询一堆文件的数据,因为这些文件的结构都是一样的。请你帮忙。

declare @x xml = (select xmldata from xmltbl)

SELECT Agency.a.value('(AccidentReportNumber-AllPages/text())[1]', 'varchar(20)') AS [AccidentReportNumber], 
       Agency.a.value('(CollisionOccurredDate-AllPages/text())[1]', 'varchar(20)') AS [CollisionOccurredDate],
       Agency.a.value('(Time-AllPages/text())[1]', 'varchar(20)') AS [Time],
       Agency.a.value('(MotorVehicleInvolvedWithI-AllPages/text())[1]', 'varchar(20)') AS [MotorVehicleInvolvedWithI],
       Agency.a.value('(PedestrianActionA-AllPages/text())[1]', 'varchar(20)') AS [PedestrianAction],
       Agency.a.value('(NumberInjured-AllPages/text())[1]', 'varchar(20)') AS [NumberInjured],
       Driver.d.value('(AddressFullText/text())[1]','nvarchar(60)') AS AddressFullText    
FROM   @x.nodes('/agency') AS Agency(a)
CROSS  APPLY Agency.a.nodes('TrafficUnit[TrafficUnit_Number="2"]/Driver') AS Driver(d)
sql-server xml-parsing
© www.soinside.com 2019 - 2024. All rights reserved.