XML-Abfragesyntax zum Angeben von XML-Berichtsdaten
Aktualisiert: 14. April 2006
In Reporting Services können Sie Datasets für XML-Datenquellen erstellen. Wenn Sie eine Datenquelle definiert haben, erstellen Sie eine Abfrage für das Dataset. Je nach Typ der XML-Daten, auf die die Datenquelle zeigt, können Sie die Datasetabfrage erstellen, indem Sie eine XML-Query oder einen Elementpfad einfügen. Eine XML-Query beginnt mit einem <Query>-Tag und enthält Namespaces und XML-Elemente, die je nach Datenquelle variieren. Ein Elementpfad ist von Namespaces unabhängig und gibt die Knoten und Knotenattribute in den zugrunde liegenden XML-Daten an, die mit der XPath-ähnlichen Syntax verwendet werden sollen. Weitere Informationen zu Elementpfaden finden Sie unter Syntax für Elementpfade zum Angeben von XML-Berichtsdaten.
Sie können eine XML-Datenquelle für die folgenden Typen von XML-Daten erstellen:
- XML-Dokumente, auf die ein URL über HTTP zeigt
- Webdienst-Endpunkte, die XML-Daten zurückgeben
- Eingebettete XML-Daten
Die Art, wie Sie eine XML-Query oder einen Elementpfad angeben, ist vom Typ der XML-Daten abhängig.
Bei einem XML-Dokument ist die XML-Query optional. Wenn sie eingeschlossen wird, kann sie einen optionalen XML-ElementPath enthalten. Der Wert des XML-ElementPath verwendet die Syntax des Elementpfades. Sie schließen die XML-Query und den XML-ElementPath ein, um Namespaces ordnungsgemäß zu verarbeiten, wenn diese von den XML-Daten in der Datenquelle benötigt werden.
Für einen Webdienst-Endpunkt, auf den ein Verbindungszeichenfolgen-URL zeigt, definiert die XML-Query die Webdienstmethode, die SOAP-Aktion oder beide. Der XML-Datenprovider erstellt eine Webdienstanforderung, mit der XML-Daten abgerufen werden, die im Bericht verwendet werden sollen.
Hinweis: |
---|
Wenn ein Webdienst-Namespace ein Schrägstrichzeichen (/) enthält, fügen Sie die Webdienstmethode und die SOAP-Aktion ein, sodass die XML-Datenverarbeitungserweiterung den Namespace fehlerfrei ableiten kann. |
Für ein eingebettetes XML-Dokument definiert die XML-Query die zu verwendenden eingebetteten XML-Daten, außerdem enthält sie optionale Namespaces und einen optionalen XML-ElementPath.
Angeben von Abfrageparametern für XML-Daten
Sie können Abfrageparameter für XML-Dokumente angeben.
- Bei URL-Anforderungen sind die Abfrageparameter als URL-Standardparameter enthalten.
- Bei Webdienstanforderungen werden Abfrageparameter an die Webdienstmethode übergeben. Verwenden Sie zum Definieren eines Abfrageparameters im Dialogfeld Dataset die Registerkarte Parameter. Weitere Informationen finden Sie unter Dataset (Registerkarte Parameter, Berichts-Designer).
Beispiel
Die Beispiele in der folgenden Tabelle veranschaulichen das Abrufen von Daten vom Berichtsserver-Webdienst, einem XML-Dokument und eingebetteten XML-Daten.
XML-Datenquelle | Abfragebeispiel |
---|---|
Webdienst-XML-Daten von der ListChildren-Methode. |
|
Webdienst-XML-Daten von SoapAction. |
|
XML-Dokument oder eingebettete XML-Daten unter Verwendung von Namespaces. Abfrageelement, das Namespaces für einen Elementpfad angibt. |
|
Eingebettetes XML-Dokument. |
|
XML-Dokument unter Verwendung der Standardeinstellung. |
No query. Der Elementpfad wird vom XML-Dokument selbst abgeleitet und ist von Namespaces unabhängig. |
Hinweis: |
---|
Im ersten Beispiel für einen Webdienst wird der Inhalt des Berichtsservers mithilfe derListChildren-Methode aufgeführt. Diese Abfrage können Sie ausführen, indem Sie eine neue Datenquelle erstellen und die Verbindungszeichenfolge auf https://localhost/reportserver/reportservice2005.asmx festlegen. Für die ListChildren-Methode sind zwei Parameter erforderlich: Item und Recursive. Legen Sie den Standardwert für Item auf / und für Recursive auf 1 fest. |
Angeben von Namespaces
Verwenden Sie das XML-Query-Element zum Angeben der in den XML-Daten der Datenquelle verwendeten Namespaces. In der folgenden XML-Abfrage wird der Namespace sales verwendet. Die XML-ElementPath-Knoten für sales:LineItems
und sales:LineItem
verwenden den Namespace sales.
<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>
Wenn Sie den Namespace des Datenproviders so angeben möchten, dass der Standardnamespace leer bleibt, verwenden Sie xmldp. Dies wird im folgenden Beispiel gezeigt.
Beispiel
Im folgenden Beispiel wird das XML-Dokument DPNamespace.xml verwendet, das zur Veranschaulichung unter der Tabelle bereitgestellt ist. In dieser Tabelle sind zwei Beispiele für XML-ElementPath-Syntax angegeben, die Namespacepräfixe enthalten.
XML-Abfrageelement
Resultierende Felder im Dataset
<Query/>
Node
ns
Value Ahttps://schemas.microsoft.com/...
Value Bhttps://schemas.microsoft.com/...
Value 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>
Node
Value D
Value E
Value F
XML-Dokument: DPNamespace.xml
Sie können dieses XML-Dokument kopieren und unter einem URL speichern, auf den der Berichts-Designer zugreifen kann, um es als XML-Datenquelle zu verwenden: z. B. 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>
Siehe auch
Konzepte
Definieren von Berichtsdatasets für XML-Daten
Andere Ressourcen
Lernprogramm: Verwenden von XML-Daten in einem Bericht
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
14. April 2006 |
|