Gewusst wie: Abrufen von XML-Daten in ASP mit dem XML OLE-DB Simple Provider

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 272270 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel enthält schrittweise Anweisungen, um ein ASP-Client einzurichten, der die Verwendung der einfachen OLEDB-Provider für XML auf hierarchische XML-Daten zugreifen veranschaulicht.
Der OLE-DB Simple Provider für XML (XML OSP) kann verwendet werden, Daten in einem XML-Dokument in einer schreibgeschützten ADO-Recordset zu laden. Die Daten werden anschließend gelesen und mithilfe der standard-Methoden eines ADO-Recordset-Objekts zugreifen. Dieser Anbieter kann an eine andere Methode der Arbeit mit hierarchischen in XML-Dokumenten enthaltenen Daten verwendet werden.

Weitere Informationen

Führen Sie die folgenden Schritte aus, in Sequenz einrichten und Testen einer ASP-Seite, die das OSP XML verwendet, um hierarchische Daten zuzugreifen, die in einem XML-Dokument gespeichert ist:
  1. Öffnen Sie eine neue Datei in Microsoft Editor. Kopieren Sie den folgenden Code ein, und speichern Sie die Datei als TestOSP.asp im ein Berechtigungen zum Ausführen von Skripts wurde virtuelles IIS-Verzeichnis:
    <%@ Language=VBScript %>
    
    <!--#include file="adovbs.inc" -->
    <%
    
        Dim adoRS       'ADODB.Recordset
        Set adoRS =  CreateObject("ADODB.Recordset")
      
        
        ' Set up the Connection
        adoRS.ActiveConnection = "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"
         
        ' Open the XML source
        adoRS.Open Server.MapPath(".") & "\portfolio.xml"
        
        printtbl adoRS, 0
        
        If adoRS.State = adStateOpen Then
            adoRS.Close
        End If
        Set adoRS = Nothing
        Response.End 
    
    ' Function to recurcusively retrieve the data
    Sub printtbl(rs, indent)
            
        Dim rsChild         'ADODB.Recordset
        Dim Col             'ADODB.Field
        
        set rsChild = Server.CreateObject("ADODB.Recordset")
       
        While rs.EOF <> True
            For Each Col In rs.Fields
                If Col.Name <> "$Text" Then   ' $Text to be ignored
                    If Col.Type <> adChapter Then
                        ' Output the non-chaptered column
                        Response.Write( String((indent)," " )  & Col.Name & ": " & Col.Value )
                    Else
                        Response.Write("<br/>")
                        ' Retrieve the Child recordset
                        Set rsChild = Col.Value
                        rsChild.MoveFirst
                        If Err Then 
                            Response.write("Error: " &  Error ) 
                            Response.end
                        end if     
                        printtbl rsChild, indent + 4
                        rsChild.Close
                        Set rsChild = Nothing
                    End If
                End If
            Next
            Response.Write( "<br/>")
            rs.MoveNext
        Wend
        
    End Sub
    
    %>
    					
  2. Der Code in der vorherigen ASP-Datei verwendet den einfachen OLEDB-Provider für XML, um Daten aus einer XML-Datei namens portfolio.xml auf ein ADO-Recordset-Objekt zu laden. Öffnen Sie eine neue Datei in Editor, und kopieren Sie und fügen Sie den folgenden XML-Code. Speichern Sie die Datei als portfolio.xml im virtuellen IIS-Verzeichnis, in dem TestOSP.asp gespeichert:
    <portfolio>
        <stock>
            <symbol>CTS</symbol>
            <price>$66.00</price>
            <info>
                <companyname>Contoso Pharmaceuticals</companyname>
                <website>http://www.contoso.com</website>
            </info>
        </stock>
        <stock>
            <symbol>FAB</symbol>
            <price>$110.00</price>
            <info>
                <companyname>Fabrikam, Inc</companyname>
                <website>http://www.fabricam.com</website>
            </info>
        </stock>
        <stock>
            <symbol>PRO</symbol>
            <price>$50.00</price>
            <info>
                <companyname>Proseware, Inc</companyname>
                <website>http://www.proseware.com</website>
            </info>
        </stock>
        <stock>
            <symbol>WWI</symbol>
            <price>$136.00</price>
            <info>
                <companyname>Wide World Importers</companyname>
                <website>http://www.worldwideimporters.com</website>
            </info>
        </stock>
    </portfolio>
    
    					
  3. Wechseln Sie zu TestOSP.asp mit Internet Explorer, und beachten Sie, dass die Daten in portfolio.xml angezeigt werden wie erforderlich. Der Code in die ASP das OSP XML verwendet, um die XML-Daten in einem ADO-Recordset zu laden und durchläuft dann die Datensätze im Recordset und schreibt die Werte in den Feldern das ASP-Response-Objekt.

Eigenschaften

Artikel-ID: 272270 - Geändert am: Dienstag, 13. Juli 2004 - Version: 2.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Active Server Pages 4.0
  • Microsoft XML Parser 2.6
  • Microsoft XML Parser 3.0
  • Microsoft XML Core Services 4.0
Keywords: 
kbmt kbhowto KB272270 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 272270
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com