adrigor
asked on
Extracting xml values nodes with vbscript
Im new with xml and vbscript , I need some help to extract the value of "entrada-fecha-y-hora" of the first line <ev:evento> and "salida-fecha-y-hora" of the second line <ev:evento> to export to an excel file, my vbscript is the following:
Dim s
Dim t
Set oDOM = CreateObject("Msxml2.DOMDo cument.3.0 ")
oDOM.preserveWhiteSpace = False
oDOM.Load strXMLFileToProcess ' I use this to pass the file name
Set Root = oDOM.selectNodes("//dia:de talle-de-e ventos/ev: evento")
For x = 0 to Root.lenght - 1
s = s & Root(x).selectSingleNode(" @entrada-f echa-y-hor a").text
t = t & Root(x).selectSingleNode(" @salida-fe cha-y-hora ").text
Next
MsgBox s 'For test only
MsgBox t 'For test only
and the xml file is
<?xml version="1.0" encoding="UTF-16"?>
<!--Documento de exportacion de analisis de asistencia y puntualidad TimeWork-->
<doc:tw-xml-doc-export-ana lisis-peri odo doc-version="1.02" doc-id="01" componente-version-minima- requerida= "1" db-fuente="\\Bioserver2\tw \TimeWork Reloj Checador\Datos.TWD" xmlns:doc="http://www.relojchecador.com/twxml/01/1.01/" xmlns:emps="http://www.relojchecador.com/twxml/01/1.01/empleados/" xmlns:emp="http://www.relojchecador.com/twxml/01/1.01/empleados/empleado/" xmlns:per="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/" xmlns:dias="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/" xmlns:dia="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/dia/" xmlns:hor="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/dia/horario/" xmlns:ev="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/dia/eventos/" xmlns:ri="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/dia/registrosinformativos/" xmlns:perm="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/dias/dia/permisos/permiso/" xmlns:punt="http://www.relojchecador.com/twxml/01/1.01/empleado/empleado/periodo/puntualidad/">
<doc:empleados inicio-minimo-fecha-y-hora ="#01/04/2 013 00:00:00#" fin-maximo-fecha-y-hora="# 01/04/2013 23:59:59#" parametroDef1-nombre="Depa rtamento" parametroDef2-nombre="Pues to" parametroDef3-nombre="Subd epartmento " parametroDef4-nombre="Área " parametroDef5-nombre="Ciud ad" parametroDef6-nombre="Esta do">
<emps:empleado id="14" numero="39" nombre="Manuel" apellidos="Martinez Vargas" ingreso-fecha-y-hora="#07/ 01/2004 00:00:00#" inicio-registros-fecha-y-h ora="#03/1 0/2012 00:00:00#" numero-empleado-noi="83" parametro1="Laboratorio" parametro2="Recolector" parametro3="(No asignado)" parametro4="Marketing" parametro5="Ciudad de Mexico" parametro6="Distrito Federal">
<emp:detalle-d e-periodo inicio-fecha-y-hora="#01/0 4/2013 00:00:00#" fin-fecha-y-hora="#01/04/2 013 23:59:59#" nombre-horario="0830x1630/ 1500-1530" >
<per:detal le-de-dias >
<dias: dia fecha-y-hora="#01/04/2013 00:00:00#">
<d ia:asisten cia asistido="1" falta="0" inhabil="0" laborable="1"/>
<d ia:comida debe-registrar="1" fue-registrada="1" descontar-si-no-registra=" 0" mins-descontados-por-no-re gistrar="0 "/>
<d ia:horario id="10" tipo="fijo" tipo-num="0">
<hor:lim ites inicio-fecha-y-hora="#01/0 4/2013 00:00:00#" fin-fecha-y-hora="#01/04/2 013 23:59:59#"/>
<hor:tra bajo entrada-fecha-y-hora="#01/ 04/2013 08:30:00#" salida-fecha-y-hora="#01/0 4/2013 16:30:00#"/>
<hor:com ida salida-fecha-y-hora="#01/0 4/2013 15:00:00#" regreso-fecha-y-hora="#01/ 04/2013 15:30:00#"/>
</ dia:horari o>
<d ia:puntual idad mins-retardo="0" mins-salida-pre="-18"/>
<d ia:asignac ion-tiempo -extra antes-entrada="0" despues-salida="1" comida="0" dia-festivo="1" mins-minimos-para-consider arse="30"/ >
<d ia:tiempo- trabajo mins-debe-laborar="450" mins-laborado="462" mins-extra="0" mins-a-favor="12"/>
<d ia:detalle -de-evento s primera-entrada-fecha-y-ho ra="#01/04 /2013 08:34:00#" ultima-salida-fecha-y-hora ="#01/04/2 013 16:48:00#" hay-eventos-incompletos="0 ">
<ev:even to entrada-fecha-y-hora="#01/ 04/2013 08:34:00#" salida-fecha-y-hora="#01/0 4/2013 15:27:00#"/>
<ev:even to entrada-fecha-y-hora="#01/ 04/2013 15:59:00#" salida-fecha-y-hora="#01/0 4/2013 16:48:00#"/>
</ dia:detall e-de-event os>
<d ia:registr os-informa tivos/>
<d ia:detalle -de-permis os>
<perm:pe rmiso tipo="llegar tarde" tipo-num="0" autoriza="" motivo="Hijo"/>
</ dia:detall e-de-permi sos>
</dias :dia>
</per:deta lle-de-dia s>
<per:puntu alidad>
<punt: retardos totales="0" sin-permiso="0" con-permiso="0" mins-totales="0" mins-sin-permiso="0" mins-con-permiso="0"/>
<punt: salidas-pr e totales="0" mins-totales="0" sin-permiso="0" mins-sin-permiso="0" con-permiso="0" mins-con-permiso="0"/>
</per:punt ualidad>
<per:tiemp o-trabajo mins-laborado="462" mins-descontado-por-no-reg istrar-com ida="0" mins-debe-laborar="450" mins-debe-laborar-restando -faltas="4 50" mins-extra="0" mins-extra-restando-faltas ="0" mins-a-favor="12" mins-a-favor-restando-falt as="12"/>
<per:permi sos llegar-tarde="1" salir-temprano="0" no-asistir="0" vacaciones="0" sanciones="0" incapacidades="0"/>
<per:asist encia total-dias="1" dias-laborables="1" dias-laborables-asistidos= "1" dias-no-laborables="0" dias-no-laborables-asistid os="0" dias-inhabiles="0" dias-inhabiles-asistidos=" 0" dias-totales-asistidos="1" faltas="0" faltas-con-permiso-con-sue ldo="0" faltas-con-permiso-sin-sue ldo="0" ausencias-por-incapacidad= "0" faltas-por-sancion="0"/>
</emp:detalle- de-periodo >
</emps:empleado>
</doc:empleados>
</doc:tw-xml-doc-export-an alisis-per iodo>
Dim s
Dim t
Set oDOM = CreateObject("Msxml2.DOMDo
oDOM.preserveWhiteSpace = False
oDOM.Load strXMLFileToProcess ' I use this to pass the file name
Set Root = oDOM.selectNodes("//dia:de
For x = 0 to Root.lenght - 1
s = s & Root(x).selectSingleNode("
t = t & Root(x).selectSingleNode("
Next
MsgBox s 'For test only
MsgBox t 'For test only
and the xml file is
<?xml version="1.0" encoding="UTF-16"?>
<!--Documento de exportacion de analisis de asistencia y puntualidad TimeWork-->
<doc:tw-xml-doc-export-ana
<doc:empleados inicio-minimo-fecha-y-hora
<emps:empleado id="14" numero="39" nombre="Manuel" apellidos="Martinez Vargas" ingreso-fecha-y-hora="#07/
<emp:detalle-d
<per:detal
<dias:
<d
<d
<d
</
<d
<d
<d
<d
</
<d
<d
</
</dias
</per:deta
<per:puntu
<punt:
<punt:
</per:punt
<per:tiemp
<per:permi
<per:asist
</emp:detalle-
</emps:empleado>
</doc:empleados>
</doc:tw-xml-doc-export-an
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER