用XPATHDECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:xpath-query mapping-schema="FilePath/AnnotatedSchemaFile.xml">
    Specify the XPath query
  </sql:xpath-query>
</ROOT>'--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- Execute a SELECT statement using OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc, '/ROOT')
EXEC sp_xml_removedocument @idoc

解决方案 »

  1.   

    dim oImp as new Import
    dim oRep as new Repository
    dim oRoot as RepositoryObject
    dim ObjCol as TransientObjCol
    set oRoot=oRep.Open "SERVER=MyServer;DATABASE=MyDB;UID=sa;PWD=MyPassword;"
    set ObjCol = oImp.ImportXML(oRep, "c:\temp\myXmlFile.xml",NEWVERSION)
    for each obj in ObjCol
    . . .
    next
    Set oRoot=Nothing
    Set oRep=Nothing
    Set oImp=Nothing
      

  2.   

    to weixy:
       我拿路径和文件名替换掉FilePath/AnnotatedSchemaFile.xml,但运行返回是@doc拆分成的记录,不替换也是一样,你自己可以在SQL中试试。 或者我还不明白应如何实现,能否说详细点?  谢谢!
    TO OpenVMS :
       我需要是在SQLSERVER或DELPHI中的方法,谢谢!
      

  3.   

    使用Delphi 中 XML Mapping Tool ,取字段,然后用一个ClientDataSet 转出来。