Web services 使用ssrs xml查询设计器自定义从web服务返回的字段

Web services 使用ssrs xml查询设计器自定义从web服务返回的字段,web-services,visual-studio-2010,reporting-services,xml-parsing,query-designer,Web Services,Visual Studio 2010,Reporting Services,Xml Parsing,Query Designer,我有一个返回数据的web服务,但我找不到如何选择从web服务返回的字段的方法。 我将param发送到web服务,并将字段参数作为param输出。 我就是这样分析它的: <Query> <Method Name="methodname" Namespace="namespacename"> <Paramenters> <Parameter Name="param-in-name-1"> <DefaultValue>0</Defaul

我有一个返回数据的web服务,但我找不到如何选择从web服务返回的字段的方法。 我将param发送到web服务,并将字段参数作为param输出。 我就是这样分析它的:

<Query>
<Method Name="methodname" Namespace="namespacename">
<Paramenters>
<Parameter Name="param-in-name-1">
<DefaultValue>0</DefaultValue>
</Parameter>
<Parameter Name="param-in-name-2">
<DefaultValue>0</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespace="true">
*
</ElementPath>
</Query>

0
0
*
上面的解析包含所有字段,但我需要获取特定字段。 我尝试将以下内容添加到elementpath,但没有成功:
/elementname1{}/elementname2{}/fieldname1

我意识到它实际上依赖于web服务模式 例如 我通过添加嵌套参数使该架构更复杂:

<wsdl:types>
<s:schema targetNamespace="VS13" elementFormDefault="qualified">
<s:element name="datatable">
<s:complexType>
<s:sequence>
<s:element name="prmin" type="tns:paramin" maxOccurs="1" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="paramin">
<s:sequence>
<s:element name="name" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="age" type="s:int" maxOccurs="1" minOccurs="1"/>
<s:element name="height" type="s:int" maxOccurs="1" minOccurs="1"/>
</s:sequence>
</s:complexType>
<s:element name="datatableResponse">
<s:complexType>
<s:sequence>
<s:element name="datatableResult" type="tns:data" maxOccurs="1" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="data">
<s:sequence>
<s:element name="name" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="age" type="s:int" maxOccurs="1" minOccurs="1"/>
<s:element name="ltr" type="tns:ArrayOfLetters" maxOccurs="1" minOccurs="0"/>
<s:element name="height" type="s:int" maxOccurs="1" minOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfLetters">
<s:sequence>
<s:element name="letters" type="tns:letters" maxOccurs="unbounded" minOccurs="0"/>
</s:sequence>
</s:complexType>
<s:complexType name="letters">
<s:sequence>
<s:element name="letter" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="count" type="s:int" maxOccurs="1" minOccurs="1"/>
</s:sequence>
</s:complexType>
</s:schema>
</wsdl:types>

我通过从第二层发送参数(类/元素中的参数)使其更加复杂:


斯蒂夫
30
180
我有两种方法来实现从xmldp查询检索到的数据

1.不带阵列数据字段的第二层:

<ElementPath IgnoreNamespaces="True">
datatableResponse/datatableResult
</ElementPath>
<ElementPath IgnoreNamespaces="True">
datatableResponse/datatableResult{}/ltr/letters{letter,count}
</ElementPath>

datatableResponse/datatableResult
2.第二层仅阵列数据字段:

<ElementPath IgnoreNamespaces="True">
datatableResponse/datatableResult
</ElementPath>
<ElementPath IgnoreNamespaces="True">
datatableResponse/datatableResult{}/ltr/letters{letter,count}
</ElementPath>

datatableResponse/datatableResult{}/ltr/letters{letter,count}

为什么不返回所有字段,只使用您在报告中需要的字段?您好,问题是参数out有些在第一级,有些在第二级(参数数组),我认为这就是为什么不是所有数据都在默认选项(*)、有些在第一级的参数、,然后,如果有参数有两个级别,我也会得到它,然后级别1上的其余参数没有达到