Añadir informacion a un XML

19/06/2005 - 19:33 por Javier | Informe spam
Hola:
Tengo un archivo XML de tipo RSS, con la estructura siguiente
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title></title>
<description></description>
<link></link>
<lastBuildDate></lastBuildDate>
<generator />
<item>
<title></title>
<link></link>
<description></description>
<author></author>
<pubDate></pubDate>
</item>
</channel>
</rss>

Mi intencion es abrir un fichero asi, y añadirle un nuevo <item> con sus
etiquetas title, link, etc.
Me gustaria saber cual seria la forma mas sencilla de hacer eso, porque lo
he estado intentado y solo consigo codigo lioso que al final no hace lo q
quiero.
Gracias por la informacion.
Un saludo.
 

Leer las respuestas

#1 Miguel Gonzalez
19/06/2005 - 21:26 | Informe spam
Hola Javier.

Más o menos, el procedimiento pasa por utilizar el "Microsoft.XMLDom", cargar el archivo XML/RSS e
ir agregando nodos e hijos al documento. Puedes adaptar y embeber el siguiente código de ejemplo en
un archivo ASP o utilizarlo mediante algún componente o rutina en VB.



<%
Dim xml1, root1, nodo0, nodo1, nodo2
Set xml1 = Server.CreateObject("Microsoft.XMLDom")
xml1.async = False
xml1.validateOnParse = False
xml1.load(Server.MapPath("fuenterss.xml"))
Set root1 = xml1.documentElement
root1.selectSingleNode("channel/pubDate").text = "Fecha publicación de la fuente RSS"
root1.selectSingleNode("channel/lastBuildDate").text = "Ultima actualizacion RSS"
Set nodo0 = root1.selectSingleNode("channel")
Set nodo1 = xml1.createElement("item")
nodo0.appendChild(nodo1)
Set nodo2 = xml1.createElement("title")
nodo1.appendChild(nodo2)
nodo2.text = "título de la noticia"
Set nodo2 = xml1.createElement("link")
nodo1.appendChild(nodo2)
nodo2.text = "http://www.tuserver.com/tunoticia.html"
Set nodo2 = xml1.createElement("pubDate")
nodo1.appendChild(nodo2)
nodo2.text = "Fecha de la noticia"
Set nodo2 = xml1.createElement("description")
nodo1.appendChild(nodo2)
nodo2.text = "Resumen de la noticia"
xml2.save(Server.MapPath("fuenterss.xml"))
Set nodo2 = Nothing
Set nodo1 = Nothing
Set nodo0 = Nothing
Set root1 = Nothing
Set xml1 = Nothing
%>

Saludos!
Miguel

Javier escribió:
Hola:
Tengo un archivo XML de tipo RSS, con la estructura siguiente
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title></title>
<description></description>
<link></link>
<lastBuildDate></lastBuildDate>
<generator />
<item>
<title></title>
<link></link>
<description></description>
<author></author>
<pubDate></pubDate>
</item>
</channel>
</rss>

Mi intencion es abrir un fichero asi, y añadirle un nuevo <item> con sus
etiquetas title, link, etc.
Me gustaria saber cual seria la forma mas sencilla de hacer eso, porque lo
he estado intentado y solo consigo codigo lioso que al final no hace lo q
quiero.
Gracias por la informacion.
Un saludo.

Preguntas similares