Share via


Sintaxis de consulta XML para especificar datos de informe XML

Actualizado: 14 de abril de 2006

En Reporting Services, se pueden crear conjuntos de datos para orígenes de datos XML. Después de definir un origen de datos, se crea una consulta para el conjunto de datos. En función del tipo de datos XML a los que señala el origen de datos, la consulta del conjunto de datos se crea incluyendo un elemento XML Query o una ruta de acceso de elemento. Un elemento XML Query empieza con una etiqueta <Query> e incluye espacios de nombres y elementos XML que varían en función del origen de datos. Una ruta de acceso de elemento es independiente del espacio de nombres y especifica qué nodos y atributos de nodo se utilizan de los datos XML subyacentes con una sintaxis del tipo de XPath. Para obtener más información acerca de las rutas de acceso de elemento, vea Sintaxis de ruta de acceso de elemento para especificar datos de informe XML.

Se pueden crear orígenes de datos XML para los siguientes tipos de datos XML:

  • Documentos XML a los que señala una dirección URL mediante el protocolo HTTP
  • Extremos de servicio Web que devuelven datos XML
  • Datos XML incrustados

La forma en que se especifica un elemento XML Query o una ruta de acceso de elemento depende del tipo de los datos XML.

En el caso de los documentos XML, el elemento XML Query es opcional. Si se incluye, puede contener un elemento XML ElementPath. El valor del elemento XML ElementPath utiliza la sintaxis de la ruta de acceso de elemento. Los elementos XML Query y ElementPath se incluyen para procesar los espacios de nombres correctamente cuando los datos XML del origen de datos los necesitan.

Para un extremo de servicio Web al que señala una dirección URL de cadena de conexión, el elemento XML Query define el método del servicio Web, la acción SOAP o ambos. El proveedor de datos XML crea una solicitud de servicio Web que recupera los datos XML que se utilizarán para el informe.

[!NOTA] Cuando un espacio de nombres de servicio Web incluye un carácter de barra diagonal (/), deben incluirse tanto el método del servicio Web como la acción SOAP, de manera que la extensión de procesamiento de datos XML pueda derivar el espacio de nombres correctamente.

En el caso de los documentos XML incrustados, el elemento XML Query define los datos XML incrustados que se van a utilizar, incluye espacios de nombres opcionales y contiene un elemento XML ElementPath opcional.

Especificar parámetros de consulta para datos XML

Puede especificar parámetros de consulta para documentos XML.

  • Para solicitudes de dirección URL, los parámetros de consulta se incluyen como parámetros de dirección URL estándar.
  • Para solicitudes de servicio Web, los parámetros de consulta se pasan al método del servicio Web. Para definir un parámetro de consulta, utilice la ficha Parámetros del cuadro de diálogo Conjunto de datos. Para obtener más información, vea Conjunto de datos (ficha Parámetros del Diseñador de informes).

Ejemplo

En los ejemplos de la tabla siguiente se muestra cómo se recuperan los datos desde el servicio Web del servidor de informes, un documento XML y datos XML incrustados.

Origen de datos XML Ejemplo de consulta

Datos XML del servicio Web obtenidos a través del método ListChildren.

<Query>

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

</Query>

Datos XML del servicio Web obtenidos a través de SoapAction.

<Query xmlns=namespace>

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

</Query>

Documento XML o datos XML incrustados donde se usan espacios de nombres.

Elemento de consulta que especifica los espacios de nombres de una ruta de acceso de elemento.

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

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

</Query>

Documento XML incrustado.

<Query>

<XmlData>

<Customers>

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

</Customers>

</XmlData>

<ElementPath>Customer {@}</ElementPath>

</Query>

Documento XML que utiliza el valor predeterminado.

No query.

La ruta de acceso de elemento se deriva del propio documento XML y es independiente del espacio de nombres.

[!NOTA] El primer ejemplo de servicio Web muestra el contenido del servidor de informes a través del método ListChildren. Para ejecutar esta consulta, es necesario crear un nuevo origen de datos y establecer la cadena de conexión en https://localhost/reportserver/reportservice2005.asmx. El método ListChildren toma dos parámetros: Item y Recursive. Establezca el valor predeterminado de Item en / y Recursive en 1.

Especificar espacios de nombres

Use el elemento XML Query para especificar los espacios de nombres que se utilizan en los datos XML del origen de datos. En la siguiente consulta XML se utiliza el espacio de nombres sales. Los nodos de elemento XML ElementPath para sales:LineItems y sales:LineItem utilizan el espacio de nombres 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>

Para especificar el espacio de nombres del proveedor de datos de manera que el espacio de nombres predeterminado permanezca vacío, utilice xmldp. Esto se muestra en el ejemplo siguiente.

Ejemplo

En los ejemplos siguientes se utiliza el documento XML DPNamespace.xml, que se proporciona después de la tabla a modo de ilustración. En esta tabla se muestran dos ejemplos de sintaxis de ruta de acceso de elemento XML que incluye prefijos de espacios de nombres.

Elemento de consulta XML

Campos resultantes en el conjunto de datos

<Query/>

Node

ns

Valor Ahttps://schemas.microsoft.com/...

Valor Bhttps://schemas.microsoft.com/...

Valor 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

Valor D

Valor E

Valor F

Documento XML: DPNamespace.xml

Puede copiar este documento XML y guardarlo en una dirección URL a la que tenga acceso el Diseñador de informes para utilizarlo como un origen de datos XML (por ejemplo, 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>

Vea también

Conceptos

Definir conjuntos de datos de informe para datos XML

Otros recursos

Tutorial: Usar datos XML en un informe

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

14 de abril de 2006

Contenido nuevo:
  • Se incluyeron ejemplos de sintaxis de consulta XML.