我有一个我试图解析的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>
任何帮助都会非常棒!