【发布时间】:2017-01-06 17:13:05
【问题描述】:
我正在尝试使用 SQL Server 2014 查询大量 XML 文件。我正在使用以下代码,但我不确定语法有什么问题,因为没有返回任何内容。我怀疑 XML 文件有些奇怪。
如果只将部分 XML 文本直接放入查询文件而不是在本地指向它,那么它似乎可以工作,但我有很多文件,并且确实需要能够从本地源查询而无需手动操作的文件。
示例 XML:https://s3.amazonaws.com/irs-form-990/201600349349300510_public.xml
我的代码:
DECLARE @x xml
SELECT @x = R
FROM OPENROWSET (BULK 'C:\Users\USER\990\Example.xml', SINGLE_BLOB) AS ReturnData(R)
SELECT @x
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
SELECT * FROM OPENXML (@hdoc, '/Return/ReturnData/IRS990ScheduleHIRS990ScheduleH/FinancialAssistanceAtCostTyp',3)
WITH (FinancialAssistancePolicyInd int '../FinancialAssistancePolicyInd',
FPGReferenceDiscountedCareInd int '../FPGReferenceDiscountedCareInd',
PersonsServedCnt int,
NetCommunityBenefitExpnsAmt int)
EXEC sp_xml_removedocument @hdoc
提前致谢。如果有更好的方法可以做到这一点,请告诉我,我是在 SQL 中使用 XML 的新手。
【问题讨论】:
标签: mysql sql sql-server xml openxml