【发布时间】:2017-03-04 17:27:28
【问题描述】:
我有以下代码将 xml 导入 SQL
DECLARE @XML AS XML, @hDoc AS INT, @SQL NVARCHAR (MAX)
SELECT @XML = XMLData FROM XMLwithOpenXML
EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
SELECT rid, uid
FROM OPENXML(@hDoc, '/PportTimetable/Journey')
WITH
(
rid [varchar](50) '@rid',
uid [varchar](100) '@uid'
)
EXEC sp_xml_removedocument @hDoc
GO
我可以让代码工作,但只有当它不包含如下所示的 xmlns 信息时,这是为什么呢?
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.thalesgroup.com/rtti/XmlTimetable/v8"
XML 标头
<PportTimetable xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" timetableID="20161018020822" xmlns="http://www.thalesgroup.com/rtti/XmlTimetable/v8">
<Journey rid="201610188012733" uid="P12733" trainId="2J27" ssd="2016-10-18" toc="AW">
</Journey>
</PportTimetable>
【问题讨论】:
标签: sql sql-server xml