lectura xml

Hilo iniciado por David Rodriguez el 15 de noviembre de 2017

Viendo 6 entradas - de la 1 a la 6 (de un total de 6)
  • Autor
    Entradas
  • #14747
    RangoDavid Rodriguez
    David Rodriguez
    Participante
    PARTICIPANTE
    8.050 Rincoins

    buen día…. consulta 

    tengo el sigte código para leer xml

    /********
    XMLdoc = XmlDocument::newFile(@_fileName);
    XMLdoc.load(XMLdoc.toString());
    countItemTags = xmldoc.getElementsByTagName(‘Detalle’).length();
    for (i = 0 ; i < countItemTags; i++)
    {
    tipo = xmldoc.getElementsByTagName(‘Tipo’).item(i).text();
    Seq = xmldoc.getElementsByTagName(‘Seq’).item(i).text();
    Despacho= xmldoc.getElementsByTagName(‘Despacho’).item(i).text();
    Fch = xmldoc.getElementsByTagName(‘Fch’).item(i).text();
    }
    ********/

    este código funciona bien hasta el momento que en la estructura del documento no trae alguna de las etiquetas de las que hago mención e imprime un error Objeto no inicializado, me podrían ayudar a identificar dentro el For la estructura del archivo que si no llega la etiqueta Despacho no la lea y que mi variable quede con un valor nulo.

     

    gracias de antemano

    #14748
    RangoJonathan Bravetti
    Jonathan Bravetti
    Participante
    PARTICIPANTE
    7.266 Rincoins

    Hola David,

    Una solucion rapida podria ser la utilizacion del bloque try – catch, mencionas que te sucede en la asignacion de la variable Despacho, podrias realizar lo siguiente:

    try

        {

             Despacho= xmldoc.getElementsByTagName(‘Despacho’).item(i).text();

        }

    catch (Exception::Error)
        {
            Despacho = '';
        }
    #14749
    RangoDavid Rodriguez
    David Rodriguez
    Participante
    PARTICIPANTE
    8.050 Rincoins

    muchas gracias, aunque el error persiste apesar de ya haber realizado esta validacion.

    #14750
    RangoJonathan Bravetti
    Jonathan Bravetti
    Participante
    PARTICIPANTE
    7.266 Rincoins

    Que raro, deberia funcionar. La otra opcion que se me ocurre es, dentro del bucle for pasas el contenido de la linea del xml que lees a una variable tipo texto, luego a esta variable le haces un strscan() y buscas “Despacho”, si encuentra lees el valor para la variable despacho, caso contrario no busca el valor.

    #14751
    RangoDavid Rodriguez
    David Rodriguez
    Participante
    PARTICIPANTE
    8.050 Rincoins

    Gracias, no la habia considerado voy a probarla, 

    #14752
    RangoJonathan Bravetti
    Jonathan Bravetti
    Participante
    PARTICIPANTE
    7.266 Rincoins

    Perfecto, comentame como te fue con la prueba!

Viendo 6 entradas - de la 1 a la 6 (de un total de 6)
  • Debes estar registrado para responder a este debate.
Carrito de compra