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.

ms345251.note(de-de,SQL.90).gifHinweis:
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.

<Query>

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

</Query>

Webdienst-XML-Daten von SoapAction.

<Query xmlns=namespace>

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

</Query>

XML-Dokument oder eingebettete XML-Daten unter Verwendung von Namespaces.

Abfrageelement, das Namespaces für einen Elementpfad angibt.

<Query xmlns:es="https://schemas.microsoft.com/StandardSchemas/ExtendedSales">

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

</Query>

Eingebettetes XML-Dokument.

<Query>

<XmlData>

<Customers>

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

</Customers>

</XmlData>

<ElementPath>Customer {@}</ElementPath>

</Query>

XML-Dokument unter Verwendung der Standardeinstellung.

No query.

Der Elementpfad wird vom XML-Dokument selbst abgeleitet und ist von Namespaces unabhängig.

ms345251.note(de-de,SQL.90).gifHinweis:
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

Neuer Inhalt:
  • Beispiele für XML-Abfragesyntax wurden bereitgestellt.