Conseils

Lecture et manipulation de fichiers XML (flux RSS) avec Delphi

Lecture et manipulation de fichiers XML (flux RSS) avec Delphi


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

01de 04

Blog? Syndication?

Selon votre interlocuteur, un blog est un agenda Web personnel, un recueil de discussions brèves et datées avec des commentaires, ou un moyen de publier des nouvelles et des informations. La page d'accueil À propos de la programmation Delphi fait office de blog.

La page Restez à jour héberge le lien vers le fichier XML qui peut être utilisé pour la syndication vraiment simple (RSS).

À propos du flux de blog de programmation Delphi

Parlons maintenant du fichier XML qui répertorie les derniers ajouts à ce site.

Voici les bases du RSS sur la programmation de Delphi:

  1. C'est du XML. Cela signifie qu'il doit être bien formé, inclure un prologue et une DTD, et tous les éléments doivent être fermés.
  2. Le premier élément du document est l'élément. Cela inclut un attribut de version obligatoire.
  3. L'élément suivant est l'élément. C'est le conteneur principal pour toutes les données RSS.
  4. L'élément est le titre, soit du site entier (s'il se trouve en haut), soit de l'élément en cours (s'il se trouve dans an).
  5. L'élément indique l'URL de la page Web qui correspond au flux RSS ou, s'il s'agit d'un, l'URL de cet élément.
  6. L'élément décrit le flux RSS ou l'élément.
  7. L'élément est la viande de l'aliment. Ce sont tous les titres (), URL () et description () qui figureront dans votre flux.
02 sur 04

Le composant TXMLDocument

Pour pouvoir afficher les derniers titres dans un projet Delphi, vous devez d'abord télécharger le fichier XML. Étant donné que ce fichier XML est mis à jour jour par jour (nouvelles entrées ajoutées), vous aurez besoin d'un code conçu pour enregistrer le contenu d'une URL spécifiée dans un fichier.

Le composant TXMLDocument

En général, voici les étapes qui décrivent comment utiliser TXMLDocument:

  1. Ajoutez un composant TXMLDocument à votre formulaire.
  2. Si le document XML est stocké dans un fichier, définissez la propriété FileName sur le nom de ce fichier.
  3. Définissez la propriété Active sur True.
  4. Les données représentées par XML sont disponibles sous forme de hiérarchie de nœuds. Utilisez des méthodes conçues pour renvoyer et utiliser un nœud dans un document XML (comme ChildNodes.First).
03 sur 04

Analyser XML, façon Delphi

Créez un nouveau projet Delphi et déposez un composant TListView (Nom: 'LV') sur une fiche. Ajoutez un TButton (Nom: 'btnRefresh') et un TXMLDocument (Nom: 'XMLDoc'). Ensuite, ajoutez trois colonnes au composant ListView (Titre, Lien et Description). Enfin, ajoutez le code pour télécharger le fichier XML, analysez-le avec TXMLDocument et affichez-le dans ListView dans le gestionnaire d'événements OnClick du bouton.

Vous trouverez ci-dessous la partie de ce code.

var StartItemNode: IXMLNode; ANode: IXMLNode; STitle, sDesc, sLink: WideString; commencer…   // pointe vers le fichier XML local dans le code "original" XMLDoc.FileName: = '//0.tqn.com/6/g/delphi/b/index.xml'; XMLDoc.Active: = True; StartItemNode: = XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode ('item'); ANode: = StartItemNode; répéter STitle: = ANode.ChildNodes'title'.Text; sLink: = ANode.ChildNodes'link'.Text; sDesc: = ANode.ChildNodes'description'.Text; // ajouter à la liste avec LV.Items.Add faire     commencer Légende: = Titre; SubItems.Add (sLink); SubItems.Add (sDesc) fin; ANode: = ANode.NextSibling; jusqu'à ce que ANode = néant;04 sur 04

Code source complet

Je suppose que le code est plus ou moins facile à comprendre:

  1. Assurez-vous que la propriété FileName du TXMLDocument pointe vers notre fichier XML.
  2. Définir actif sur True
  3. Trouver le premier noeud ("viande")
  4. Parcourez tous les nœuds et récupérez les informations qu’ils contiennent.
  5. Ajouter la valeur de chaque nœud à ListView

Peut-être que seule la ligne suivante peut prêter à confusion: StartItemNode: = XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode ('item');

La propriété DocumentElement de XMLDoc fournit un accès au nœud racine du document. Ce nœud racine est l'élément. Ensuite, ChildNodes.First renvoie le seul nœud enfant à l'élément, qui est le nœud. ChildNodes.FindNode ('item') trouve maintenant le premier noeud "viande". Une fois que nous avons le premier nœud, nous parcourons simplement tous les nœuds "viande" du document. La méthode NextSibling renvoie le prochain enfant du parent d'un nœud.

C'est ça. Assurez-vous de télécharger la source complète. Et bien sûr, n'hésitez pas et encouragé à poster des commentaires sur cet article sur notre forum de programmation Delphi.


Voir la vidéo: LUTTE contre la MANIPULATION de l'INFORMATION, nouvelle lecture (Juin 2022).


Commentaires:

  1. Arashijas

    Pour ma part, tu n'as pas raison. Je peux le prouver. Écrivez-moi dans PM.

  2. Kemuro

    Juste dans le sujet, cool

  3. Kicage

    tu ne t'es pas trompé



Écrire un message