0
我需要在C#中讀取來自BizTalk服務的響應內容,該服務會發送一些名爲diffgram的內容。我使用SoapUI來查看該服務正在響應。從BizTalk diffgram中讀取XML響應
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ejecutaDqlResponse xmlns="http://tempuri.org/">
<ejecutaDqlResult>
<xs:schema id="dql" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="dql" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="r_object_id" type="xs:string" minOccurs="0"/>
<xs:element name="n_tipo_docto" type="xs:string" minOccurs="0"/>
<xs:element name="n_fecha_celbrcn" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<dql xmlns="">
<Table1 diffgr:id="Table11" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<r_object_id>0902c09e80109543</r_object_id>
<n_tipo_docto>Asambleas de Accionistas 1.- Acta</n_tipo_docto>
<n_fecha_celbrcn>1/1/2014 12:00:00 AM</n_fecha_celbrcn>
</Table1>
<Table1 diffgr:id="Table12" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<r_object_id>0902c09e8010a95a</r_object_id>
<n_tipo_docto>Asambleas de Accionistas Extraordinarias</n_tipo_docto>
<n_fecha_celbrcn>3/14/2015 12:00:00 AM</n_fecha_celbrcn>
</Table1>
</dql>
</diffgr:diffgram>
</ejecutaDqlResult>
</ejecutaDqlResponse>
</s:Body>
</s:Envelope>
我需要做的唯一的事情就是數不同r_object_id,在這個反應存在。但我無法弄清楚如何去做。我嘗試了dataset.ReadXml,但沒有奏效。
任何人都可以幫助我嗎?
您是否獲得此響應,XML塊或字符串(如圖所示)? – tgolisch
是的。我得到這個作爲一個xmlblock,但是因爲是biztalkservice,我進入我的c#代碼的類是類型「ejecutaDqlResponse」。顯示的字符串是即時通訊使用SOAP UI –