Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2010, 12:40
nycband
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Leer XML en Asp con Etiquetas Vacias

Hola.
Me gustaría que alguien me pudiera ayudar con un problema que estoy encontrando al leer un XML con etiquetas vacias.

Estructura XML: Hoteles.xml
<Body>
<node>
<ID>1</ID>
<Name>Hotel 1</Name>
<Country>ES</Country>
</node>
<node>
<ID>2</ID>
<Name>Hotel 2</Name>
<Country>ES</Country>
</node>
<node>
<ID>3</ID>
<Name>Hotel 3</Name>
<Country>ES</Country>
</node>
<node>
<ID>4</ID>
<Name>Hotel 4</Name>
<Country>ES</Country>
</node>
<node>
<ID>5</ID>
<Name>Hotel 5</Name>
<Country/>
</node>
</Body>

Archivo de lectura Asp: CargarHoteles.asp
<%
xmlDoc="Hoteles.xml"
Set xmlObj = CreateObject("Microsoft.XMLDOM")
xmlObj.Async = False
xmlObj.setProperty "ServerHTTPRequest", True
xmlObj.validateOnParse = False
xmlObj.resolveExternals = False
xmlObj.Load(Server.MapPath(xmlDoc))


set vID = xmlObj.getElementsByTagName("ID")
set vName = xmlObj.getElementsByTagName("Name")
set vCountry = xmlObj.getElementsByTagName("Country")

For n = 0 To vID.length-1
vIDFinal=vID.item(n).firstChild.nodeValue
vNameFinal=cstr(vName.item(n).firstChild.nodeValue )
vCountryFinal=cstr(vCountry.item(n).firstChild.nod eValue)
Next
%>

Cuando ejecuto el asp me recorre todos los nodos correctamente y puedo mostrar todas las etiquetas, pero al llegar al ultimo nodo con la etiqueta vacia <Country/> me da el siguiente error
Microsoft VBScript runtime (0x800A01A8)
Object required: 'vCountryCode.item(...).firstChild'.

No sé como controlar ese error para obviar las etiquetas vacias.
Muchas gracias