none
LEER DATOS DE UN ARCHIVO XML PARA MOSTRAR RESULTADOS EN TEXTBOX RRS feed

  • Pregunta

  • Que tal a todos quisiera que me brindaran por favor, un poco de su conocimiento si son ta amables estoy intentando realizar una aplicación en c# y asp.net donde básicamente tengo un Textbox para escribir un nombre (el cual sera la búsqueda) un button para realizar las instrucciones de búsqueda. y un último Textbox para mostrar los datos encontrados.

    He leído información que se puede hacer con un XPath ya declare la referencia de ensamblado como using System.Xml.XPath; el tema es que no tengo ni idea de como realizar el código del botón, para que valla y busque un nombre en el archivo xml y me entregue los resultados en el Texbox. 

    Cabe señalar que la busqueda se puede realizar tanto por el primer nombre o segundo nombre.

    Ejemplo.

    Hugo Damian

    Damian Hugo

    Mi xml esta de la siguiente manera:

    <?xml version="1.0" encoding="UTF-8"?>
    <PERSONAS>
    <VERSIONNUM>1</VERSIONNUM>
    <PRIMER_NOMBRE>HUGO</PRIMER_NOMBRE>
             <SEGUNDO_NOMBRE>DAMIAN</SEGUNDO_NOMBRE>
             <AREA>VENTAS</AREA>
             <NUMERO_EMPLEADO>010101</NUMERO_EMPLEADO>
             <CONTRATADO>2003-09-09</CONTRATADO>
             <COMENTARIO>SE CONTRATO CON LA EMPRESA PARA VENDER ARTICULOS DE CAMIONES</COMENTARIO>
             <NACIONALIDAD>
                <VALUE>MEXICANO</VALUE>
             </NATIONALITY>
             <TIPO_DE_VENTAS>
                <VALUE>CAMIONES</VALUE>
             </TIPO_DE_VENTAS>
             <FECHA_VENTAS>
                <VALUE>2010-01-25</VALUE>
                <VALUE>2015-08-06</VALUE>
            </FECHA_VENTAS>
    </PERSONAS>
    
    Gracias por su ayuda de antemano un saludo.

    miércoles, 14 de septiembre de 2016 2:09

Respuestas

  • Para buscar con XPath usando un XmlDocument se hace más o menos así:

    XmlDocument doc = new XmlDocument();
    doc.Load(@"c:\rutadelfichero.xml");
    XmlNode nodo = doc.SelectSingleNode("//PRIMER_NOMBRE[text()='HUGO']");

    Eso te devuelve un nodo XML que a su vez permite enumerar su contenido o hacer sobre él más búsquedas con XPath.

    Por supuesto, donde pone PRIMER_NOMBRE y donde pone HUGO son strings que puedes concatenar a partir de una variable; en el ejemplo los he puesto fijos para simplificar.

    miércoles, 14 de septiembre de 2016 6:52

Todas las respuestas

  • Para buscar con XPath usando un XmlDocument se hace más o menos así:

    XmlDocument doc = new XmlDocument();
    doc.Load(@"c:\rutadelfichero.xml");
    XmlNode nodo = doc.SelectSingleNode("//PRIMER_NOMBRE[text()='HUGO']");

    Eso te devuelve un nodo XML que a su vez permite enumerar su contenido o hacer sobre él más búsquedas con XPath.

    Por supuesto, donde pone PRIMER_NOMBRE y donde pone HUGO son strings que puedes concatenar a partir de una variable; en el ejemplo los he puesto fijos para simplificar.

    miércoles, 14 de septiembre de 2016 6:52
  • Hola gracias por tu respuesta aun no consigo modificar mi código con lo que me respondes más o menos lo que quiero es algo así pero en asp.

    Que cuando el usuario ponga el valor a buscar en el Textbox  valla y busque en el xml.

    http://www.codeproject.com/Articles/9494/Manipulate-XML-data-with-XPath-and-XmlDocument-C

    Gracias por tu ayuda un saludo.

    viernes, 16 de septiembre de 2016 19:47