0
私のクエリが機能しない理由を教えてください。 以下は私のXMLです。 これをSQL Serverで解析しようとしています。Openxmlを使用してSQLサーバーでxmlを解析する
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PostEDIDataToEIP xmlns="http://tempuri.org/">
<xmlRequestDetails>
<Applicant>
<ApplyData>
<RefNo>86</RefNo>
<ProfileSnapshot>
<Name>King</Name>
<ResumeHeadline>RESUME HEADLINE.......................</ResumeHeadline>
</ProfileSnapshot>
</ApplyData>
</Applicant>
</xmlRequestDetails>
</PostEDIDataToEIP>
</soap:Body>
</soap:Envelope>
set @xmlRequestDetails='Above xml'
set @xPath='/soap:Envelope/soap:Body/PostEDIDataToEIP/xmlRequestDetails/Applicant/ApplyData'
Exec sp_xml_preparedocument @XML_Hndl OUTPUT, @xmlRequestDetails
select * into #jobdetails FROM OPENXML(@XML_Hndl,@xPath,2) with (RefNo smallint)
select * from #jobdetails
set @xPath='/soap:Envelope/soap:Body/PostEDIDataToEIP/xmlRequestDetails/Applicant/ApplyData/ProfileSnapshot'
select * into #personaldetails FROM OPENXML(@XML_Hndl,@xPath,2) with (Name varchar(100), ResumeHeadline varchar(100))
select * from #personaldetails
以下のエラーが発生します。
Msg 6603, Level 16, State 2, Procedure sp_forintegration, Line 31
XML parsing error: Reference to undeclared namespace prefix: 'soap'.
The statement has been terminated.
Msg 208, Level 16, State 0, Procedure sp_forintegration, Line 33
Invalid object name '#jobdetails'.
このXMLは、SQL ServerのテーブルXML列に挿入されています。 解析中に何か間違いをしているように感じました。何ができるか、解析する方法を教えてください。
おかげで/よろしく、 Prasanthクマール