Skip to content

Latest commit

 

History

History
101 lines (85 loc) · 3.31 KB

File metadata and controls

101 lines (85 loc) · 3.31 KB
title Executing XPath Queries (SQLXML Managed Classes) | Microsoft Docs
ms.custom
ms.date 03/14/2017
ms.prod sql-server-2016
ms.reviewer
ms.suite
ms.technology
dbe-xml
ms.tgt_pltfrm
ms.topic reference
helpviewer_keywords
XPath queries [SQLXML], SQLXML Managed Classes
queries [SQLXML], SQLXML Managed Classes
Managed Classes [SQLXML], executing XPath queries
mapping schema [SQLXML], XPath queries
SQLXML Managed Classes, executing XPath queries
ms.assetid 8bef4c4d-bf0e-4236-a875-fd7d3e058396
caps.latest.revision 20
author douglaslMS
ms.author douglasl
manager jhubbard

Executing XPath Queries (SQLXML Managed Classes)

This example illustrates how XPath queries are executed against a mapping schema.

Consider this 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>  

This C# application executes an XPath query against this schema (MySchema.xml).

Note

In the code, you must provide the name of the instance of Microsoft [!INCLUDEssNoVersion] in the connection string.

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;  
      }  
   }  

To test the application

  1. Make sure that you have the [!INCLUDEmsCoName] .NET Framework installed on your computer.

  2. Save the XSD schema (MySchema.xml) that is provided in this example in a folder.

  3. Save the C# code (DocSample.cs) that is provided in this example in the same folder in which the schema is stored. (If you store the files in a different folder, you will have to edit the code and specify the appropriate directory path for the mapping schema.)

  4. Compile the code. To compile the code at the command prompt, use:

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

    This creates an executable (DocSample.exe).

  5. At the command prompt, execute DocSample.exe.