none
ayuda con los fetch RRS feed

  • Pregunta

  • Hola estimados, estoy trabajando en un proyecto .net y tengo dudas con el manejo del fetch es decir, como lo recorro, como accedo a los datos, como lo puedo transformar a un xml, alguien tiene documentacion de ello?

    CrmAuthenticationToken token = new CrmAuthenticationToken();
          token.AuthenticationType = 0;
          token.OrganizationName = "XXXX";
    
          CrmService servicio = new CrmService();
          servicio.Url = "http://XXXX:5555/MSCrmServices/2007/CrmService.asmx";
          servicio.CrmAuthenticationTokenValue = token;
          servicio.Credentials = System.Net.CredentialCache.DefaultCredentials;
    
          string fetch2 = 
            "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"
            + "  <entity name='mientidad'>"
            + "    <attribute name='id'/>"
            + "    <attribute name='monto'/>"
            + "    <attribute name='fecha'/>"
            + "    <order attribute='fecha' descending='false'/>"
            + "  </entity>"
            + "</fetch>";
    
          string resultado = servicio.Fetch(fetch2);
    

     como accedo a estos datos, como puedo retornarlo como xml por ejemplo en caso de un webservice?

     

    saludos y gracias

     

    martes, 29 de marzo de 2011 16:10

Respuestas

  • Podrías realizar lo siguiente??
    public Xml BuscarEmpresa(string dato)
        {
          string resultado =      resultado=Negocio.BL_Empresas.Buscar(dato);

          XmlDocument doc = new XmlDocument();
          doc.LoadXml(resultado);
          return doc;
              }

    Julio
    miércoles, 30 de marzo de 2011 14:08

Todas las respuestas

  • Hola Carlos,

    Puedes recorrerlo de la siguiente manera:

    string strId;
    double dblMonto;
    DateTime dtFecha;

    XmlDocument resultDocs = newXmlDocument();
    resultDocs.LoadXml(resultado);
    XmlNodeList resultados = resultDocs.DocumentElement.SelectNodes(
    "result");
    foreach (XmlNode resultado in resultados)
    {
      if (resultado.SelectSingleNode("id") != null)
         strId = resultado.SelectSingleNode("id").InnerText; 
      if (resultado.SelectSingleNode("monto") != null)
         dblMonto= Convert.ToDouble(resultado.SelectSingleNode("monto").InnerText).ToString("###,###,###");
    if (resultado.SelectSingleNode("fecha") != null)
         dtFecha= Convert.ToDateTime(resultado.SelectSingleNode("fecha").InnerText).ToString("dd/MM/yyyy");


    }

    Coméntanos que tal te va.
    Julio
    martes, 29 de marzo de 2011 18:54
  • ok, muchas gracias por tu ayuda, solo me queda una duda cuando creo un webservice y accedo de la misma forma via fetch, el resultado es un string que trae el xml, pero en formato string, pero debo retornarlo como XML, como hago esto?

    [WebMethod]
        public string Buscar(string dato)
        {
          string resultado = "";
          resultado=Negocio.BLL_Empresas.Buscar_E(dato);
          return resultado;
        }
      }
    

     

     

    saludos y muchas gracias por tu ayuda!!

    martes, 29 de marzo de 2011 20:27
  • Hola,

    Cuando invoca al Ws lo haces de la siguiente manera:
            string resultado = servicio.Fetch(fetch2);
    AHi obtienes el resultado de invocar al WS.

    Luego creas un XMLDocument:
            XmlDocument resultDocs = new XmlDocument();

    en ese XML Document cargas el resultado que obtuviste, el cual es de tipo string.        
            resultDocs.LoadXml(strResult);
           


    Julio
    martes, 29 de marzo de 2011 21:14
  • Hola estimado, muchas gracias por tu respuesta, mi problema en particular es como retorno el xml ya que no puedo realizar esto:

    return resultDocs.LoadXml(strResult);

    como retorno desde el webservice el xml, ya que si retorno el resultado en string, el resultado no es el XML que necesito no se si me explico

     

    [WebMethod]
        public string BuscarEmpresa(string dato)
        {
          string resultado =      resultado=Negocio.BL_Empresas.Buscar(dato);
    
          XmlDocument doc = new XmlDocument();
          doc.LoadXml(resultado);
          // como retorno este xml???
          //return resultado;
        }
    

     saludos y gracias por tu respuesta!!

     

    miércoles, 30 de marzo de 2011 12:52
  • Podrías realizar lo siguiente??
    public Xml BuscarEmpresa(string dato)
        {
          string resultado =      resultado=Negocio.BL_Empresas.Buscar(dato);

          XmlDocument doc = new XmlDocument();
          doc.LoadXml(resultado);
          return doc;
              }

    Julio
    miércoles, 30 de marzo de 2011 14:08
  • Gracias por tu ayuda estimado. me fue muy bien..!!

     

    saludos

    miércoles, 30 de marzo de 2011 14:39