Foros del Web » Programando para Internet » ASP Clásico »

problema al Acceder a los nodos de un xml con asp

Estas en el tema de problema al Acceder a los nodos de un xml con asp en el foro de ASP Clásico en Foros del Web. quiero obtener sólo los valores nad y nao que se encuentra dentro de trad, pero no sé como acceder directamente a esos nodos. Lo he ...
  #1 (permalink)  
Antiguo 05/06/2008, 10:51
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 7 meses
Puntos: 0
problema al Acceder a los nodos de un xml con asp

quiero obtener sólo los valores nad y nao que se encuentra dentro de trad, pero no sé como acceder directamente a esos nodos.
Lo he conseguido apuntado así, pero esta forma me implica que SIEMPRE se encuentre en la posicion 4 el nodo indicado, y si un día me cambian el orden de los elementos ya no funcionará.. por eso me gustaria saber si puedo acceder a estos valores de otra forma mas directa ..... :
set valor = objXML.selectSingleNode("//vue").childNodes(n).childNodes(4) 'CORRECTO
para ello realizo este bucle


set vue = objXML.selectSingleNode("//vue").childNodes
response.write "Detalles del vuelo :<br>"
for n=0 to (vue.length)-1
nodoTra = objXML.selectSingleNode("//vue").childNodes(n).nodeName 'obtenemos los nodos de vue
if ucase(nodoTra)="TRA" then
set tra = objXML.selectSingleNode("//vue").childNodes(n).childNodes 'obtenemos los nodos de trad
for k=0 to (tra.length)-1 'tra tiene 27 items
set valor = objXML.selectSingleNode("//vue").childNodes(n).childNodes(4) 'CORRECTO
strDate = valor.text
response.write "Valor -->"&StrDate&"<br>"
next
end if
next

este es el xml
Código:
<?xml version="1.0" encoding="utf-8" ?> 
<res>
<vue>
 <hor>05/06/200811:58:08</hor>
 <alm>M</alm>
 <opc>1</opc>
 <tra>
  <cla>Turista</cla>
  <fsa>20/06/2008</fsa>
  <cad>CUN</cad>
  <nad>CANCUN</nad>
  <cao>MAD</cao>
  <nao>MADRID</nao>
 </tra>
 <tra>
  <cla>Turista</cla>
  <fsa>27/06/2008</fsa>
  <cad>MAD</cad>
  <nad>MADRID</nad>
  <cao>CUN</cao>
  <nao>CANCUN</nao> 
 </tra>
</vue>
</res>
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 05/06/2008, 11:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: problema al Acceder a los nodos de un xml con asp

Hola Motki, yo iteraria sus nodos preguntando por el nodo que me interesa:

Código:
<%
pathToXml = Server.MapPath(".") & "\xml.xml"
Set ObjXml = Server.CreateObject("Microsoft.XMLDOM")
ObjXml.Load(pathToXml)

for each nodo in ObjXml.documentElement.SelectNodes("vue/tra")
	for each child in nodo.childNodes
		if lcase(child.nodeName) = "nad" or lcase(child.nodeName) = "nao" then
			Response.Write(child.text) & "<br />"
		end if
		
	next
next
Set xml = Nothing
%>
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/06/2008, 01:00
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: problema al Acceder a los nodos de un xml con asp

ok!!! muchas gracias por tu ayuda
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:57.