XML Parse into Sql table - 在每列中重复值

时间:2015-12-07 17:20:12

标签: sql-server xml

我有一个我试图解析的xml文件。但是,当我解析为SQL时,在所有7列中重复相同的值,然后解析查找下一个值并将其输入到下一行。代码是

DECLARE @XML AS XML, @hDoc As INT, @SQL nvarchar(MAX)

SELECT @XML = XMLData FROM XMLOpenGG

EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
SELECT GeneratedDateTime, RecordLocator, OutBound, Return, FirstName, LastName, TrackingNo, Location FROM OPENXML(@hDoc, '/CIS_PNRS/CIS_PNR/PNRDataItems/PNRDataItem')
WITH (
GeneratedDateTime varchar(50) '.',
RecordLocator varchar(50) '.',
Outbound varchar(50) '.',
Return varchar(50) '.',
FirstName varchar(100) '.',
LastName varchar(100) '.',
TrackingNo varchar(50) '.',
Location varchar(100) '.')

XML文件结构如下所示(我删除了所有值,因为它们是敏感的);

<?xml version="1.0"?>
<CIS_PNRS>
 <CIS_PNR>
  <PNRDataItems>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
   <PNRDataItem Name=""></PRNDataItem>
  </PNRDataItems>
 </CIS_PNR>
</CIS_PNRS>

任何帮助都会非常棒!

0 个答案:

没有答案