xml sorgu sözdizimi için xml raporu verileri (ssrs)
De Reporting Services, sen-ebilmek yaratmak DataSet xml veri kaynakları için. Bir veri kaynağı tanımladıktan sonra, veri kümesi için bir sorgu oluşturursunuz. Veri kaynağı tarafından işaret edilen XML verilerinin türüne bağlı olarak, bir XML Query veya öğe yolu ekleyerek veri kümesi sorgusu oluşturursunuz. XML Query, bir <Query> etiketi ile başlar ve veri kaynağına bağlı olarak değişen ad alanlarını ve XML öğelerini içerir. Öğe yolu, ad alanından bağımsızdır ve bir XPath benzeri sözdizimi ile temel XML verilerinden hangi düğüm ve düğüm özniteliklerinin kullanılacağını belirtir. Öğe yılları hakkında daha fazla bilgi için, bkz. Öğesi Path sözdizimi için xml raporu verileri (ssrs).
Aşağıdaki XML veri türleri için bir XML veri kaynağı oluşturabilirsiniz:
Http protokolü kullanılarak bir URL tarafından işaret edilen Xml belgeleri
XML verileri döndüren Web hizmeti son noktaları
Katıştırılmış XML verileri
Bir XML Query veya öğe yolu belirtme biçiminiz XML verileri türüne bağlıdır.
Bir XML belgesi için, XML Query isteğe bağlıdır. Dahil edişmişse, isteğe bağlı bir XML ElementPath içerebilir. XML ElementPath değeri, öğe yolu sözdizimini kullanır. Veri kaynağındaki XML verileri için gerektiğinde ad alanlarını doğru işlemek üzere, XML Query ve XML ElementPath’nu dahil edebilirsiniz.
Bir bağlantı dizesi URL’si tarafından işaret edilen bir Web hizmeti son noktası için, XML Query Web hizmeti yöntemini, SOAP eylemini veya her ikisini de tanımlar. XML veri sağlayıcısı, raporda kullanılacak XML verilerini alan bir Web hizmeti talebi oluşturur.
[!NOT]
Bir Web hizmeti ad alanında düz eğik çizgi (/) karakteri yer aldığında, XML veri işleme uzantısının ad alanını doğru şekilde türetebilmesi için hem Web hizmeti yöntemini hem de SOAP eylemini dahil edin.
Katıştırılmış bir XML belgesi için, XML Query kullanılacak katıştırılmış XML verilerini tanımlar, isteğe bağlı ad alanlarını içerir ve isteğe bağlı bir XML ElementPath içerir.
XML Verileri için Sorgu Parametrelerini Belirtme
XML belgeleri için sorgu parametreleri belirtebilirsiniz.
URL talepleri için, sorgu parametreleri standart URL parametreleri olarak dahil edilir.
Web hizmeti talepleri için, sorgu parametreleri Web hizmeti yöntemine geçirilir. Bir sorgu parametresi tanımlamak için, Veri Kümesi Özellikleri iletişim kutusunun Parametreler sayfasını kullanın. Daha fazla bilgi için, bkz. Veri Kümesi Özellikleri İletişim Kutusu, Parametreler.
Örnek
Aşağıdaki tabloda yer alan örneklerde, Rapor Sunucusu Web hizmetinden, bir XML belgesinden ve katıştırılmış XML verilerinden nasıl veri alınacağı gösterilmektedir.
XML veri kaynağı |
Sorgu örneği |
---|---|
ListChildren yönteminden Web hizmeti XML verileri. |
<Query> <Method Name="ListChildren" Namespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices" /> </Query> |
Soap Eyleminden Web hizmeti XML verileri. |
<Query xmlns=namespace> <SoapAction>http://schemas/microsoft.com/sqlserver/2005/03/23/reporting/reportingservices/ListChildren</SoapAction> </Query> |
Ad alanlarını kullanan XML Belgesi veya katıştırılmış XML verileri. Bir öğe yolu için ad alanları belirten sorgu öğesi. |
<Query xmlns:es="https://schemas.microsoft.com/StandardSchemas/ExtendedSales"> <ElementPath>/Customers/Customer/Orders/Order/es:LineItems/es:LineItem</ElementPath> </Query> |
Katıştırılmış XML belgesi. |
<Query> <XmlData> <Customers> <Customer ID="1">Bobby</Customer> </Customers> </XmlData> <ElementPath>Customer {@}</ElementPath> </Query> |
Varsayılanı kullanan XML belgesi. |
No query. Öğe yolu, XML belgesinden türetilir ve ad alanından bağımsızdır. |
[!NOT]
İlk Web hizmeti örneği, ListChildren yöntemini kullanan rapor sunucusu içeriklerini listeler. Bu sorguyu çalıştırmak için yeni bir veri kaynağı oluşturmalı ve bağlantı dizesini HYPERLINK "https://localhost/reportserver/reportservice2006.asmx" https://localhost/reportserver/reportservice2006.asmx olarak ayarlamalısınız. ListChildren yöntemi iki parametre alır: Item ve Recursive. Item için varsayılan değeri / ve Recursive için 1 olarak ayarlayın.
Ad Alanlarını Belirtme
Veri kaynağındaki XML verilerinde kullanılan ad alanlarını belirtmek için XML Query öğesini kullanın. Aşağıdaki XML sorgusu, sales ad alanını kullanır. sales:LineItems ve sales:LineItem için XML ElementPath düğümleri sales ad alanını kullanır.
<Query xmlns:sales=
"https://schemas.microsoft.com/StandardSchemas/ExtendedSales">
<SoapAction>
https://schemas.microsoft.com/SalesWebService/ListOrders
</SoapAction>
<ElementPath>
Customers/Customer/Orders/Order/sales:LineItems/sales:LineItem
</ElementPath>
</Query>
<Query xmlns:sales=
"https://schemas.microsoft.com/StandardSchemas/ExtendedSales">
<SoapAction>
https://schemas.microsoft.com/SalesWebService/ListOrders
</SoapAction>
<ElementPath>
Customers/Customer/Orders/Order/sales:LineItems/sales:LineItem
</ElementPath>
</Query>
Veri sağlayıcısı ad alanını, varsayılan ad alanı boş kalacak şekilde belirtmek için, xmldp’yi kullanın. Bu, aşağıdaki örnekte gösterilmiştir.
Örnek
Aşağıdaki örneklerde, tablodan sonra örnek olarak sağlanan XML belgesi DPNamespace.xml kullanılmıştır. Bu tabloda, ad alanı öneklerini içeren iki XML ElementPath sözdizimi örneği gösterilmektedir.
XML Sorgu Öğesi |
Veri kümesindeki sonuç alanları |
---|---|
<Sorgu/> |
Düğümns
Değer A https://schemas.microsoft.com/...
Değer Bhttps://schemas.microsoft.com/...
Değer Chttps://schemas.microsoft.com/...
|
<xmldp:Query xmlns:xmldp="https://schemas.microsoft.com/sqlserver/2005/02/reporting/XmlDPQuery" xmlns:ns="https://schemas.microsoft.com/..."> <xmldp:ElementPath>Root {}/ns:Element2/Node</xmldp:ElementPath> </xmldp:Query> |
Düğüm
Değer D
Değer E
Değer F
|
XML belgesi: DPNamespace.xml
Bu xml kopyalayın ve Rapor Tasarımcısı bir xml veri kaynağı olarak kullanmak için bir URL'ye kaydedin: Örneğin, https://localhost/DPNamespace.xml.
<Root xmlns:ns="https://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>
<Root xmlns:ns="https://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>