none
Captura de Nodos RRS feed

  • Pregunta

  • Buenas,

    Estoy escribiendo un aplicacion sencilla y me encontre con un problema al querer capturar un nodo.

    Obtengo una respuesta XML donde la etiqueta que deseo capturar esta escrita en al misma linea de 2 maneras:

    ns1:manualIssuanceResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://services.ws.icard.com">
             <manualIssuanceReturn xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><![CDATA[<results>
    <added>
    <vocher>820 71010002</voucher>
    </added>
    <updated>
    </updated>
    <notAdded>
    </notAdded>
    <upgradesNoAsociados>
    </upgradesNoAsociados>
    </results>]]>

    Yo tengo que capturar el contenido dentro de <vocher> el problema es que no lo estoy logrando.

    Escribi esto y quiero ver si alguien me puede dar una idea de como hacerlo

     try
                            {
                                xml.LoadXml(ws.manualIssuance(param_xml, sistema_usuario, sistema_pass));

                                XmlNodeList resp = xml.SelectNodes("results");
                                if (resp.Count >= 0)
                                {

                                    foreach (XmlNode ok_respuesta in resp)
                                    {
                                        respuesta_codi[rCnt] = ok_respuesta.SelectSingleNode("added/vocher").InnerText;
                                        msn_respuesta_si[rCnt] = ok_respuesta.SelectSingleNode("added/vocher").InnerText;
                                        msn_respuesta_si[rCnt] = "VOUCHER" + respuesta_codi[rCnt] + ok_respuesta.SelectSingleNode("added/vocher").InnerText;
                                    }
                                    total_emisiones++;
                                }
                            }

    Y uso esto para generar el TXT:

    if (total_emisiones >= 0)
                        {
                            try
                            {
                                //ABRIR ARCHIVO STREAMWRITER
                                StreamWriter registro = new StreamWriter("C:\\Planilla\\REPORTE-RCI" + DateTime.Now.ToString(" " + "dd-MM-yyyy" + " " + "HHmmss") + ".txt", true, Encoding.UTF8);

                                registro.WriteLine("                             >>> EMISIONES RCI <<<");
                                registro.WriteLine("+-----------------------------------------------------------------------------------------------------------------");
                                for (int i = 2; i < (total_emisiones + 2); i++)
                                {
                                    registro.WriteLine("| " + msn_respuesta_si[i]);
                                }
                                registro.WriteLine("| TOTAL DE EMISIONES = " + ((cantLineas - 2) - total_emisiones).ToString());
                                registro.WriteLine("+-----------------------------------------------------------------------------------------------------------------");
                                registro.Close();
                            }
                            finally
                            {
                                label3.Text += "CONSULTE EL REPORTE!!!!";
                            }

    Si alguien me puede ayudar estare agradecido.

    jueves, 28 de enero de 2016 15:52