1
CREATE TABLE XMLTABLE(id int IDENTITY PRIMARY KEY,XML_DATA XML,DATE DATETIME);
go
INSERT INTO XMLTABLE(XML_DATA,DATE)
SELECT CONVERT(XML,BULKCOLUMN)AS DATA,getdate()
FROM OPENROWSET(BULK 'c:\Demo.xml',SINGLE_BLOB)AS x
go
DECLARE @XML AS XML
DECLARE @OUPT AS INT
DECLARE @SQL NVARCHAR (MAX)
SELECT @XML= XML_DATA FROM XMLTABLE
EXEC sp_xml_preparedocument @OUPT OUTPUT,@XML,'<root xmlns:d="http://abc" xmlns:ns2="http://def" />'
SELECT EMAILR
FROM OPENXML(@OUPT,'d:ns2:FORM/ns2:Form1/ns2:Part/ns2:Part1/ns2:Ba')
WITH
(EMAILR [VARCHAR](100) 'ns2:EmailAddress')
EXEC sp_xml_removedocument @OUPT
go
エラーを取得することはすなわちDemo.xmlが含ま>>は、XMLからの電子メール情報を取得したい、しかし、
<ns2:FORM xmlns="http://abc" xmlns:ns2="http://def">
<ns2:Form1>
<ns2:Part>
<ns2:Part1>
<ns2:Ba>
<ns2:EmailA>[email protected]</ns2:EmailA> ...
Error:Msg 6603, Level 16, State 2, Line 6 XML parsing error: Expected token 'eof' found ':'.
d:ns2-->:<--FORM/ns2:Form1/ns2:Part/ns2:Part1/ns2:Ba
実際の質問をしてください。現時点では、フォーマッタ・コード、エラー・メッセージ、および識別/理解が困難な部分だけが見えます。 – YakovL
[可能な重複](@stackoverflow.com/questions/18705045/select-xml-from-table-in-sql-server) – SND
@SeekAndDestroyリンクされた質問はかなりの問題を追加する名前空間をカバーしません。 .. – Shnugo