entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

recorrer un array de objeto y llevarlo a un dataTable

Buen dia
tengo el siguiente codigo

            //get the web service method
             recibodlxService serviceProxy = new recibodlxService();

             object[] sXmlProp = serviceProxy.Controlrecibo();
             DataTable dtx = new DataTable();

             DataRow dr = dtx.NewRow();

deseo recorrer cada item de sXMLProp este tiene una serie de nodos o elementos xml y llevarlo cada uno de esos nodos o elemento a un datarow
por ejemplo en la posicion sXMLProp[0] el resultado es

<item><TipoDocto>OCN</TipoDocto>
                 <Documento>39147</Documento>
                 <Codigo>17429</Codigo>
                 <Cantidad_Recibida>12</Cantidad_Recibida>
                 <Estatus>Disponible</Estatus></item> 

pero al no ser un documento xml establecido no se como asignar cada tipoDcto a un Dr[0]

carlossevi comentado Jul 7, 2016

¿A qué te refieres a que no es un XML establecido? ¿A que no conoces la estructura y cambia cada vez?

german comentado Jul 7, 2016

hola @carlossevi no es un xml como tal en el webservice si no que esta como un CDATA

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xxx/LFA/confirmRcv3.php" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <ns1:ControlreciboResponse>
         <return SOAP-ENC:arrayType="xsd:string[6]" xsi:type="SOAP-ENC:Array">
            <item xsi:type="xsd:string"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<TipoDocto>OCN</TipoDocto>
<Documento>39147</Documento>
<Codigo>17429</Codigo>
<Cantidad_Recibida>12</Cantidad_Recibida>
<Estatus>Disponible</Estatus>]]></item>
            <item xsi:type="xsd:string"><![CDATA[<?xml version="1.0" encoding="utf-8"?>

carlossevi comentado Jul 7, 2016

Lo que llamas "xml como tal" es un XML que envuelve un(os) campo(s) "item" que a su vez son texto que puede ser interpretado como XML. ¿La estructura del contenido de item sí que la conoces? Puedes hacer una lectura de XML doble, una para recorrer el envoltorio y rescatar los elementos item y otra para procesar el contenido de cada elemento.

german comentado Jul 7, 2016

si @carlossevi ya hice el primer recorrido por los elementos item, el que me ha dado dificultad es para recuperar el contenido de cada elemento, ya que no lo toma como xml

carlossevi comentado Jul 8, 2016

Haz la prueba de interpretarlo como XML a ver si te sale bien =)

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta