Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Manejar formatos RSS

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Manejar formatos RSS Responder citando

Buenas a todos....

En este momento estoy mirando informacion sobre rss..

la verdad conozco poco sobre el tema y estoy investigando sobre eso....

acudo a ustedes para pedirles ayuda en la consecucion de informacion y la forma de leer dichos archivos en builder.....

cualquier pagina u informacion en la que me puedan colaborar estare bastante agradecido y sera util pa salir del fondo en que ando...

gracias de antemano...
_________________
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales

↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Las especificaciones las puedes encontrar en: http://www.rssboard.org/rss-specification

Y para leerlo puedes usar el componente "TXMLDocument" (pestaña: "Internet").

Un ejemplo, añade un "TXMLDocument" (XMLDocument1), un "TMemo" (Memo1) y el siguiente código en el constructor del Form:
Código:
    // Compatibilizar versiones
    #ifdef _DELPHI_STRING_UNICODE
        typedef UnicodeString LString;
    #else
        typedef WideString LString;
    #endif

    // Para hacer mas comoda la lectura si el campo es de texto, datos, vacio..
    struct LOCAL {
      static inline String ChildValue(_di_IXMLNode node, LString name)
      {
        _di_IXMLNode cnode = node->ChildNodes->GetNode(name);
        return (cnode->IsTextElement) ? cnode->Text : (cnode->ChildNodes->Count)
            ? cnode->ChildNodes->Get(0)->Text : LString("");
      }
    };

    XMLDocument1->FileName = "http://blogs.embarcadero.com/feeds/wpmu-feed/";
    XMLDocument1->Active = true;

    _di_IXMLNode node = XMLDocument1->DocumentElement->ChildNodes
            ->First()->ChildNodes->FindNode(LString("item"));

    while (node)
    {
        LString title = LOCAL::ChildValue(node, "title"),
                link  = LOCAL::ChildValue(node, "link"),
                desc  = LOCAL::ChildValue(node, "description");

        Memo1->Lines->Append("TITULO: " + title + "\r\nENLACE: "
                + link + "\r\nDESCRIPCION: " + desc + "\r\n");

        node = node->NextSibling();
   }

En el ejemplo uso las 3 etiquetas mas típicas, aunque hay muchas mas que puedes mirar en las especificaciones.

(Probado en las versiones 6 y 2010 en Windows 7)

NOTA: En la versión 6 Profesional no viene instalado este componente por defecto (originalmente solo venia en la Enterprise), pero se puede descargar desde: http://cc.embarcadero.com/Item.aspx?id=18938. En las versiones superiores ya viene incluida en la edición profesional..
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias Leo...

he probado tu codigo y se trunca en un lado..

me puse a realizar la depuracion del codigo y el error o volcamiento de memoria ocurre al momento de cargar los valores de titie, description...

Código:
while (node)
    {
        LString title = LOCAL::ChildValue(node, "title"),//aca se daña
                link  = LOCAL::ChildValue(node, "link"),
                desc  = LOCAL::ChildValue(node, "description");

        Memo1->Lines->Append("TITULO: " + title + "\r\nENLACE: "
                + link + "\r\nDESCRIPCION: " + desc + "\r\n");

        node = node->NextSibling();
   }


Cuando se estan cargando los valores... al menos conte el numero de nodos de un rss y son correctos.. la verdad no se si se requiera alguna libreria o algo extra... trabajo con la version 6 y venia el componente de xml directo..

gracias de antemano...
_________________
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales

↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Que quieres decir con que se se daña ? te ocurre con el enlace que he puesto ? o al usar otro ? te da algún código de error ?
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

upss Leo que pena miento sirve perfectamente.....

lo que pasa es que cuando lo corria en Builder me salia el cuadro
donde sale el asm pero corri directamente el exe y ya...

creo que no he configurado bn mi Builder...


mil y mil gracias......
_________________
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales

↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

AnimaSubtilis escribió:
lo que pasa es que cuando lo corria en Builder me salia el cuadro
donde sale el asm pero corri directamente el exe y ya...

Esto es normal, ya que encuentra una instrucción "int 3" que provoca las paradas. Una forma de evitarlo es marcando el siguiente checkbox:

MENU: Project -> Options... -> PESTAÑA: Linker -> CHECKBOX: Use debug libraries

(En la versión 2010 que es la otra con la que había probado no es necesario)
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.