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

Modificar un XML

Estas en el tema de Modificar un XML en el foro de ASP Clásico en Foros del Web. Buenos Dias Amigos de Foro: Continuando en la solución a mi problema, encontre una funcion que mas o menos se ajusta a lo que me ...
  #1 (permalink)  
Antiguo 09/06/2005, 12:04
Avatar de The_Pretorian  
Fecha de Ingreso: diciembre-2004
Ubicación: Lima - Peru
Mensajes: 267
Antigüedad: 20 años, 4 meses
Puntos: 0
Mensaje Modificar un XML

Buenos Dias Amigos de Foro:
Continuando en la solución a mi problema, encontre una funcion que mas o menos se ajusta a lo que me piden.
Bueno la idea es mandar un parametro a la funcion y esta la busque y modifique en el XML. Por ejemplo Busque '001' y lo reemplaze por '002'.

Espero me puedan orientar y muhcras gracias de antemano...

1ero Les mostrare el Archivo XML que estamos usando
-----
<?xml version="1.0"?>
<main>
<cod>001</cod>
<nom>Nombre</nom>
</main>
-----

A continuacion la funcion que encontre, espero me puedan brindar su apoyo una vez mas.

-----
<%@Language=VBScript Codepage="1252"%>
<%
Function updateXML(strNuevoValor)

Dim objDom, objRoot, objContact
Dim objField, strNewEMail
'Instantiate the XMLDOM Object.
set objXML = Server.CreateObject("Microsoft.XMLDOM")
'Turn off asyncronous file loading.
objXML.async = false
'Load the XML file.
objXML.load "C:\regsitro.xml"
'Set the objRoot variable equal to the root element of the XML file by
'calling the documentElement method of the objDOM (XMLDOM) object.
Set objRoot = objXML.documentElement
'Set a reference to the node (record) of the contact that we are
'editing by calling the SelectSingleNode method and passing it the
'e-mail address of the contact we are editing.
Set objContact = objRoot.SelectSingleNode("contact[field/field_value='"
& strNuevoValor & "']")
'Iterate through the form colllection of the request object updating
'the values of the XML record.
For each objItem in Request.Form
Set objField = objContact.selectSingleNode("field[@id='" & objItem & "']/field_value")
objField.text = Request.Form(objItem)
Next
'After the XML file has been edited, is must be saved.
objXML.save strXMLFile
End Function
%>
-----

Atte

Jorge Diaz
__________________
Creo que todas las cosas suceden por algo, no es eso que los demas llaman 'Destino'. Definitivamente Dios no juega a los dados...
  #2 (permalink)  
Antiguo 09/06/2005, 13:01
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 20 años
Puntos: 0
YO tengo esto, y funciona


Código:
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.Async=false
if objXML.Load(Server.MapPath("doGoogleSearch.xml")) then
		' Process the XML File
		objXML.getElementsByTagName("q").item(0).text = Request.Form("txtSearch")
		Response.Write(objXML.getElementsByTagName("q").item(0).text )
		objXML.save(Server.MapPath("doGoogleSearch.xml"))
end if
Abre un archivo, busca un elemento, "q" en este caso, lo actualiza, y salva el archivo.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #3 (permalink)  
Antiguo 09/06/2005, 13:30
Avatar de The_Pretorian  
Fecha de Ingreso: diciembre-2004
Ubicación: Lima - Peru
Mensajes: 267
Antigüedad: 20 años, 4 meses
Puntos: 0
De acuerdo Muchas, muchas gracias....

funciona a la perfeccion.... nuevamente gracias...

Atte

Jorge Diaz


Cita:
Iniciado por aristotelisco
YO tengo esto, y funciona


Código:
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.Async=false
if objXML.Load(Server.MapPath("doGoogleSearch.xml")) then
		' Process the XML File
		objXML.getElementsByTagName("q").item(0).text = Request.Form("txtSearch")
		Response.Write(objXML.getElementsByTagName("q").item(0).text )
		objXML.save(Server.MapPath("doGoogleSearch.xml"))
end if
Abre un archivo, busca un elemento, "q" en este caso, lo actualiza, y salva el archivo.
__________________
Creo que todas las cosas suceden por algo, no es eso que los demas llaman 'Destino'. Definitivamente Dios no juega a los dados...
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 05:34.