首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从BizTalk衍射图读取XML响应

从BizTalk衍射图读取XML响应
EN

Stack Overflow用户
提问于 2016-08-09 21:11:31
回答 1查看 610关注 0票数 0

我需要在C#中读取来自BizTalk服务的响应内容,该服务发送名为diffgram的内容。我使用SoapUI查看服务是否响应。

代码语言:javascript
复制
<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,但没有工作。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-10 03:15:35

尝试

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);
            XElement diffgram = doc.Descendants().Where(x => x.Name.LocalName == "diffgram").FirstOrDefault();
            var results = diffgram.Descendants("r_object_id").Select(x => new {
                r_object_id = (string)x
            }).ToList();
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38860504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档