Avatar billede oswald Nybegynder
16. juli 2002 - 11:39 Der er 1 kommentar og
1 løsning

kompleks XML fra SQL 2000 ind i XMLDocument i .net

Hvordan får jeg returneret en større omgang xml fra SQL serveren og får det ind i et XML dokument. Følgende kode fungerer fint så længe jeg får et element fra SQL'en, men når jeg skal ha flere elementer fejler den pga. flere rod elementer. Proceduren "GetSomeXml" returnerer for, eksemplets skyld, bare resultatet af 'Select top 2 name from sysobjects for xml auto, elements'.

        Dim MotherDoc As New Xml.XmlDocument()
        Dim TempNodelist As System.Xml.XmlTextReader
        Dim myCommand As New SqlClient.SqlCommand("GetSomeXML", SystemConnection)
        TempNodelist = myCommand.ExecuteXmlReader
        MotherDoc.Load(TempNodelist)
        MsgBox(MotherDoc.InnerText)
Avatar billede oswald Nybegynder
16. juli 2002 - 13:38 #1
Jeg har i første omgang løst det som følgende. En meget grim løsning som jeg mildelst talt ikke er stolt af, men det virker.

        Dim MotherDoc As New Xml.XmlDocument()
        Dim TempNodelist As System.Xml.XmlTextReader
        Dim myCommand As New SqlClient.SqlCommand("GetSomeXML", SystemConnection)
        Dim XMLString As String
        Dim Buffer As String

        TempNodelist = myCommand.ExecuteXmlReader
        TempNodelist.MoveToContent()
        Buffer = TempNodelist.ReadInnerXml
        While Buffer <> ""
            XMLString = XMLString + Buffer
            Buffer = TempNodelist.ReadInnerXml
        End While
        XMLString = "<Classes>" & XMLString & "</Classes>"
        MotherDoc.LoadXml(XMLString)
Avatar billede oswald Nybegynder
18. juli 2002 - 16:14 #2
Jeg har selv fundet løsningen. For bare lige at vise at det ikke er løgn er svaret her som beskrevet af Bob Beauchemin. ;)
----------------------------------
You are referring to the OLE DB 2.6 features and their implementation in SQL
Server. The (almost exact) equivalent functionality is found in the SqlXml
managed classes that are part of the SQLXML 3.0 release, available for
download on MSDN.

You are correct in recognizing that this is not in the base .NET data
provider model.

Hope this helps,
Bob Beauchemin
bobb@develop.com
-------------------------------
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester