XML 보고서 데이터를 위한 XML 쿼리 구문(SSRS)XML Query Syntax for XML Report Data (SSRS)

Reporting ServicesReporting Services에서는 XML 데이터 원본에 대한 데이터 집합을 만들 수 있습니다.In Reporting ServicesReporting Services, you can create datasets for XML data sources. 데이터 원본을 정의한 후 데이터 집합에 대한 쿼리를 만듭니다.After you define a data source, you create a query for the dataset. 데이터 원본이 가리키는 XML 데이터의 형식에 따라 XML Query 나 요소 경로를 포함하여 데이터 집합 쿼리를 만듭니다.Depending on the type of XML data pointed to by the data source, you create the dataset query by including an XML Query or an element path. XML 쿼리 로 시작는 <쿼리 > 태그와 네임 스페이스 및 데이터 원본에 따라 달라 지는 XML 요소를 포함 합니다.An XML Query starts with a <Query> tag and includes namespaces and XML elements that vary depending on the data source. 요소 경로는 네임스페이스로부터 독립적이며 기본 XML 데이터에서 사용할 노드 및 노드 특성을 XPath 형식 구문으로 지정합니다.An element path is namespace-independent and specifies which nodes and node attributes to use from the underlying XML data with an XPath-like syntax. 요소 경로에 대한 자세한 내용은 XML 보고서 데이터를 위한 요소 경로 구문(SSRS)을 참조하세요.For more information about element paths, see Element Path Syntax for XML Report Data (SSRS).

다음과 같은 형식의 XML 데이터에 대한 XML 데이터 원본을 만들 수 있습니다.You can create an XML data source for the following types of XML data:

  • http 프로토콜을 사용하는 URL이 가리키는 XML 문서Xml documents pointed to by a URL using http protocol

  • XML 데이터를 반환하는 웹 서비스 끝점Web service endpoints that return XML data

  • 포함 XML 데이터Embedded XML data

    XML Query 나 요소 경로를 지정하는 방법은 XML 데이터 형식에 따라 달라집니다.How you specify an XML Query or an element path depends on the type of XML data.

    XML 문서의 경우 XML Query 는 선택 사항입니다.For an XML document, the XML Query is optional. 이 쿼리가 포함되어 있지 않으면 선택적 XML ElementPath를 포함할 수 있습니다.If it is included, it can contain an optional XML ElementPath. XML ElementPath 값에는 요소 경로 구문이 사용됩니다.The value of the XML ElementPath uses the element path syntax. 데이터 원본의 XML 데이터에 필요한 경우 XML Query 및 XML ElementPath 를 포함하여 네임스페이스를 올바르게 처리할 수 있습니다.You include the XML Query and XML ElementPath to process namespaces correctly when it is needed by the XML data from the data source.

    연결 문자열 URL이 가리키는 웹 서비스 끝점의 경우 XML Query 는 웹 서비스 메서드나 SOAP 동작 또는 둘 모두를 정의합니다.For a Web service endpoint pointed to by a connection string URL, the XML Query defines either the Web service method, the SOAP action, or both. XML 데이터 공급자는 보고서에 사용할 XML 데이터를 검색하는 웹 서비스 요청을 만듭니다.The XML data provider creates a Web service request that retrieves XML data to use for the report.

참고

웹 서비스 네임스페이스에 슬래시(/) 문자가 포함되어 있으면 XML 데이터 처리 확장 프로그램에서 해당 네임스페이스를 올바르게 가져올 수 있도록 웹 서비스 메서드와 SOAP 동작을 모두 포함하세요.When a Web service namespace includes a forward slash (/) character, include both the Web service method and the SOAP action so that the XML data processing extension can derive the namespace correctly.

포함 XML 문서의 경우 XML Query 는 사용할 포함 XML 데이터를 정의하고 선택적 네임스페이스와 선택적 XML ElementPath를 포함합니다.For an embedded XML document, the XML Query defines the embedded XML data to use, includes optional namespaces, and contains an optional XML ElementPath..

XML 데이터의 쿼리 매개 변수 지정Specifying Query Parameters for XML Data

XML 문서의 쿼리 매개 변수를 지정할 수 있습니다.You can specify query parameters for XML documents.

  • URL 요청의 경우 쿼리 매개 변수는 표준 URL 매개 변수로 포함됩니다.For URL requests, the query parameters are included as standard URL parameters.

  • 웹 서비스 요청의 경우 쿼리 매개 변수는 웹 서비스 메서드에 전달됩니다.For Web service requests, query parameters are passed to the Web service method. 쿼리 매개 변수를 정의하려면 데이터 집합 속성 대화 상자의 매개 변수 페이지를 사용합니다.To define a query parameter, use the Parameters page of the Dataset Properties dialog box. 자세한 내용은 데이터 집합 속성 대화 상자, 매개 변수를 참조하세요.For more information, see Dataset Properties Dialog Box, Parameters.

예제Example

다음 표의 예에서는 보고서 서버 웹 서비스, XML 문서 및 포함 XML 데이터에서 데이터를 검색하는 방법을 보여 줍니다.The examples in the following table illustrate how to retrieve data from the Report Server Web service, an XML document, and embedded XML data.

XML 데이터 원본XML data source 쿼리 예Query example
웹 서비스 XML 데이터( ListChildren 메서드 사용)Web service XML data from ListChildren method. <Query>

<Method Name="ListChildren" Namespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices" />

</Query>
웹 서비스 XML 데이터(SoapAction 사용)Web service XML data from SoapAction. <Query xmlns=namespace>

<SoapAction>http://schemas/microsoft.com/sqlserver/2005/03/23/reporting/reportingservices/ListChildren</SoapAction>

</Query>
네임스페이스를 사용하는 XML 문서 또는 포함 XML 데이터XML Document or embedded XML data that uses namespaces.

요소 경로의 네임스페이스를 지정하는 쿼리 요소Query element specifying namespaces for an element path.
<Query xmlns:es="http://schemas.microsoft.com/StandardSchemas/ExtendedSales">

<ElementPath>/Customers/Customer/Orders/Order/es:LineItems/es:LineItem</ElementPath>

</Query>
포함 XML 문서Embedded XML document. <Query>

<XmlData>

<Customers>

<Customer ID="1">Bobby</Customer>

</Customers>

</XmlData>

<ElementPath>Customer {@}</ElementPath>

</Query>
기본값을 사용하는 XML 문서XML document that uses default. No query입니다.No query.

요소 경로는 XML 문서 자체에서 파생되며 네임스페이스로부터 독립적입니다.The element path is derived from the XML document itself and is namespace-independent.
참고

첫 번째 웹 서비스 예에서는 ListChildren 메서드 사용)The first Web service example lists the contents of the report server that uses the ListChildren method. 이 쿼리를 실행 하려면 새 데이터 원본 만들기 및 연결 문자열을 설정 해야 http://localhost/reportserver/reportservice2006.asmx합니다.To run this query, you must create a new data source and set the connection string to http://localhost/reportserver/reportservice2006.asmx. ListChildren 메서드는 두 개의 매개 변수: 항목재귀합니다.The ListChildren method takes two parameters: Item and Recursive. Item 의 기본값을 / 로, Recursive 의 기본값을 1로 설정합니다.Set the default value for Item to / and Recursive to 1.

네임스페이스 지정Specifying Namespaces

XML Query 요소를 사용하여 데이터 원본의 XML 데이터에 사용된 네임스페이스를 지정할 수 있습니다.Use the XML Query element to specify the namespaces that are used in the XML data from the data source. 다음 XML 쿼리에서는 sales네임스페이스를 사용합니다.The following XML query uses the namespace sales. 의 XML sales:LineItems ElementPath sales:LineItem 노드는 sales네임스페이스를 사용합니다.The XML ElementPath nodes for sales:LineItems and sales:LineItem use the namespace sales.

<Query xmlns:sales=  
"http://schemas.microsoft.com/StandardSchemas/ExtendedSales">  
   <SoapAction>  
      http://schemas.microsoft.com/SalesWebService/ListOrders   
   </SoapAction>  
   <ElementPath>  
      Customers/Customer/Orders/Order/sales:LineItems/sales:LineItem  
   </ElementPath>  
</Query>  

기본 네임스페이스가 빈 상태로 유지되도록 데이터 공급자 네임스페이스를 지정하려면 xmldp를 사용합니다.To specify the data provider namespace so that the default namespace remains empty, use xmldp. 이는 다음 예에서 확인할 수 있습니다.This is shown in the following example.

예제Example

다음 예에서는 XML 문서 DPNamespace.xml을 사용하며 이 문서는 표 아래에 제공되어 있습니다.The following examples use the XML document DPNamespace.xml, which is provided for illustration after the table. 이 표에서는 네임스페이스 접두사가 포함된 XML ElementPath 구문의 두 가지 예를 보여 줍니다.This table shows two examples of XML ElementPath syntax that includes namespace prefixes.

XML 쿼리 요소XML Query Element 데이터 집합의 결과 필드Resulting fields in the dataset
<쿼리 / ><Query/> A: 값http://schemas.microsoft.com/...Value A: http://schemas.microsoft.com/...

값 b:http://schemas.microsoft.com/...Value B: http://schemas.microsoft.com/...

값: c:http://schemas.microsoft.com/...Value C: http://schemas.microsoft.com/...
<xmldp:Query xmlns:xmldp="http://schemas.microsoft.com/sqlserver/2005/02/reporting/XmlDPQuery" xmlns:ns="http://schemas.microsoft.com/...">

<xmldp:ElementPath>Root {}/ns:Element2/Node</xmldp:ElementPath>

</xmldp:Query>
Value DValue D

Value EValue E

Value FValue F

XML 문서: DPNamespace.xmlXML document: DPNamespace.xml

이 XML을 복사한 후 보고서 디자이너에서 XML 데이터 원본으로 사용할 수 있는 URL(예: http://localhost/DPNamespace.xml)에 저장할 수 있습니다.You can copy this XML and save it to a URL available for Report Designer to use as an XML data source: for example, http://localhost/DPNamespace.xml.

<Root xmlns:ns="http://schemas.microsoft.com/...">  
   <ns:Element1>  
      <Node>Value A</Node>  
      <Node>Value B</Node>  
      <Node>Value C</Node>  
   </ns:Element1>  
   <ns:Element2>  
      <Node>Value D</Node>  
      <Node>Value E</Node>  
      <Node>Value F</Node>  
   </ns:Element2>  
</Root>  

관련 항목:See Also

XML 연결 유형 및 (입니다. SSRS ) XML Connection Type (SSRS)
Reporting Services(SSRS) 자습서Reporting Services Tutorials (SSRS)