Delen via


XPath-query's uitvoeren (beheerde SQLXML-klassen)

Van toepassing op:SQL ServerAzure SQL Database

Dit voorbeeld illustreert hoe XPath-queries worden uitgevoerd tegen een mapping-schema.

Beschouw dit schema:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">  
  <xsd:element name="Con" sql:relation="Person.Contact" >  
   <xsd:complexType>  
     <xsd:sequence>  
        <xsd:element name="FName"    
                     sql:field="FirstName"   
                     type="xsd:string" />   
        <xsd:element name="LName"    
                     sql:field="LastName"    
                     type="xsd:string" />  
     </xsd:sequence>  
     <xsd:attribute name="ContactID" type="xsd:integer" />  
    </xsd:complexType>  
  </xsd:element>  
</xsd:schema>  

Deze C#-applicatie voert een XPath-query uit tegen dit schema (MySchema.xml).

Opmerking

In de code moet je de naam van de instantie van Microsoft SQL Server in de verbindingsstring opgeven.

using System;  
using Microsoft.Data.SqlXml;  
using System.IO;  
class Test  
{  
      static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";  
  
      public static int testXPath()  
      {  
         Stream strm;  
         SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
         cmd.CommandText = "Con";  
         cmd.CommandType = SqlXmlCommandType.XPath;  
         cmd.RootTag = "ROOT";  
         cmd.SchemaPath = "MySchema.xml";  
         strm = cmd.ExecuteStream();  
         using (StreamReader sr = new StreamReader(strm)){  
            Console.WriteLine(sr.ReadToEnd());  
         }  
         return 0;  
      }  
      public static int Main(String[] args)  
      {  
         testXPath();  
         return 0;  
      }  
   }  

De toepassing testen

  1. Zorg ervoor dat je het Microsoft .NET Framework op je computer hebt geïnstalleerd.

  2. Sla het XSD-schema (MySchema.xml) dat in dit voorbeeld wordt gegeven op in een map.

  3. Sla de C#-code (DocSample.cs) die in dit voorbeeld wordt gegeven op in dezelfde map waarin het schema is opgeslagen. (Als je de bestanden in een andere map opslaat, moet je de code bewerken en het juiste directorypad voor het mappingschema opgeven.)

  4. Compileer de code. Om de code in de opdrachtprompt te compileren, gebruik u:

    csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs  
    

    Dit creëert een uitvoerbaar bestand (DocSample.exe).

  5. Voer bij de opdrachtprompt DocSample.exeuit.