Tema: asp con xml
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2009, 17:22
Avatar de mc_quake
mc_quake
 
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: asp con xml

Código asp:
Ver original
  1. <&#37; 
  2.     'archivo para ejemplos: [datos.xml]
  3.    
  4.     '<sitio>
  5.     '   <columnas>
  6.     '       <izq>10</izq>
  7.     '       <der>20</der>
  8.     '       <cen>30</cen>
  9.     '    </columnas>
  10.     '    <columnas2>
  11.     '       <izq>40</izq>
  12.     '       <der>50</der>
  13.     '       <cen>60</cen>
  14.     '   </columnas2>
  15.     '   <nombre>Mi Sitio</nombre>
  16.     '</sitio>
  17.    
  18.     function leerXML(archivoXML, nombreDato)
  19.  
  20.         ' Los parametros son:
  21.         '   -archivoXML: ruta del archivo XML
  22.         '   -nombreDato: nombre del dato a buscar
  23.         '
  24.         ' ej:
  25.         '
  26.         ' a = leerXML(server.mappath("datos.xml"), "columnas/der") 'a = "20"
  27.         ' b = leerXML(server.mappath(".") & "\datos.xml", "nombre") 'b = "Mi Sitio"
  28.    
  29.         'Creo el objeto de XMLDOM
  30.         set xml = server.CreateObject("Microsoft.XMLDOM")
  31.        
  32.         'No dejo que el archivo se edite si está en uso
  33.         xml.async="false"
  34.        
  35.         'Cargo el archivo
  36.         xml.load(archivoXML)
  37.        
  38.         'si el archivo XML tiene errores
  39.         if xml.parseError.errorCode <> 0 then
  40.             response.Write("<font face = ""arial"" size = ""-1""> Hay un error en el archivo XML (<b>" & archivoXML & "</b>): <b>" & xml.parseError.reason & "<p>")  
  41.             response.Write("</b>Linea: <b>" & xml.parseError.line & " </b>Posicion: <b>" & xml.parseError.linepos)  
  42.             response.end  
  43.         end if  
  44.        
  45.         'Obtengo los elementos del archivo
  46.         set elementos = xml.documentElement
  47.        
  48.         'Obtengo el nodo deseado(dato deseado)
  49.         set nodo = elementos.selectSingleNode(nombreDato)
  50.        
  51.         'si no se pudo cargar el nodo
  52.         if nodo is nothing then
  53.             response.Write("<font face = ""arial"" size = ""-1""> Hay un error en el archivo XML (<b>" & archivoXML & "</b>) con el nodo buscado (<b>" & nombreDato & "</b>) : <b>El nodo buscado no existe")  
  54.             response.end  
  55.         end if
  56.        
  57.         'obtengo el texto del nodo y lo devuelvo
  58.         leerXML = nodo.text
  59.        
  60.         set nodo = nothing
  61.         set elementos = nothing
  62.         set xml = nothing
  63.     end function
  64.    
  65.    
  66.     sub modificarXML(archivoXML, nombreDato, nuevoValor)
  67.  
  68.         ' Los parametros son:
  69.         '   -archivoXML: ruta del archivo XML
  70.         '   -nombreDato: nombre del dato a modificar
  71.         '   -nuevoValor: nuevo valor para el dato encontrado
  72.         '
  73.         ' ej:
  74.         '
  75.         ' a = modificarXML(server.mappath("datos.xml"), "columnas/der", "10") '<der>10</der>
  76.         ' b = modificarXML(server.mappath(".") & "\datos.xml", "nombre", "Nuestro Sitio") '<nombre>Nuestro Sitio</nombre>
  77.    
  78.         'Creo el objeto de XMLDOM
  79.         set xml = server.CreateObject("Microsoft.XMLDOM")
  80.        
  81.         'No dejo que el archivo se edite si está en uso
  82.         xml.async="false"
  83.        
  84.         'Cargo el archivo
  85.         xml.load(archivoXML)
  86.  
  87.         'si el archivo XML tiene errores
  88.         if xml.parseError.errorCode <> 0 then
  89.             response.Write("<font face = ""arial"" size = ""-1""> Hay un error en el archivo XML (<b>" & archivoXML & "</b>): <b>" & xml.parseError.reason & "<p>")  
  90.             response.Write("</b>Linea: <b>" & xml.parseError.line & " </b>Posicion: <b>" & xml.parseError.linepos)  
  91.             response.end  
  92.         end if  
  93.        
  94.         'Obtengo los elementos del archivo
  95.         set elementos = xml.documentElement
  96.        
  97.         'Obtengo el nodo deseado(dato deseado)
  98.         set nodo = elementos.selectSingleNode(nombreDato)
  99.        
  100.         'si no se pudo cargar el nodo
  101.         if nodo is nothing then
  102.             response.Write("<font face = ""arial"" size = ""-1""> Hay un error en el archivo XML (<b>" & archivoXML & "</b>) con el nodo buscado (<b>" & nombreDato & "</b>) : <b>El nodo buscado no existe")  
  103.             response.end  
  104.         end if
  105.         'obtengo el texto del nodo y lo devuelvo
  106.         nodo.text = nuevoValor
  107.        
  108.         xml.save archivoXML
  109.        
  110.         set nodo = nothing
  111.         set elementos = nothing
  112.         set xml = nothing
  113.     end sub
  114. %>
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz: