Accueil > Forum > > > > Comment savoir si un Node XML existe
Comment savoir si un Node XML existe
mercredi 14 juin 2006 à 15:46:14 |
Comment savoir si un Node XML existe

fjohnny
|
Bonjour,
Voilà sur ma version de delphi (7) le composant TXMLDocument n'existe pas. N'ayant rien touvé sur le net, je suis en train de développer un composant qui pourrait accomplir au moins les fonctions basique sur le XML : Lecture, écriture, existence d'un noeud etc... Pour l'instant j'arrive plus ou moins à savoir si un noeud existe ou pas. Mais ma fonction (je le sais bien) est très mal developpé. Ca fait plusieurs jours que je planche dessus, mais j'arrive pas à avancer. Alors si vous avez des idées des suggestions, des pistes.. je suis preneur.
Explications de la fonction :
Je pars du principe que le fichier XML trace une arborescence comme dans l'explorateur et par conséquence on peut la nommer de la même façon avec un chemin ou chaque balise serait séparé par des '\'.
Pour éviter d'alourdir mon post je ne mettrais pas les fonctions annexes, juste une petite explication sur celles-ci:
LireFichierTexte : Renvoie un TStringList contenant le fichier XML dans son entier fFichierXML : Propriété du composant (que je suis en train de developpe) qui contient sous la forme d'un String le chemin du fichier XML DecomposeChemin : Met dans un TStringList (Ligne/ligne) les balises recontré dans le chemin. Contienttexte: C'est juste une encapsulation de la fonction PosEx pour qu'elle renvoie un booleen.
Function TJTXML.ExisteNode (Chemin:String): Boolean; Var Temp:TStringList; {Sera utiliser pour charger le fichier XML en mémoire} Balises : TStringList; {Va servir à stocker le chemin élément par élément} i,j,l,m: Integer; {l : Début intervalle du Node courant m : Fin Intervalle du Node courant i et j sont de variable pour les boucles FOR} Trouve: Boolean; {Indiquera si on a trouvé le commencement du Node courant Vérification qui est utile si le fichier contient une erreur et qu'il y a la balise de fin sans la balise de début!} begin Try Try Result:= False; //Initialisation du résultat if notFileExists(fFichierXML) then Exit; {Ca risque pas d'exister !} {Chargement et traitement du fichier} Temp := LireFichierTexte(fFichierXML); {Découpage du chemin} Balises:=DecomposeChemin(Chemin); l:=0; m:=Temp.Count-1;{Positionnement de Départ} For j:=0 to Balises.Count -1 do begin {Recherche du 1er Node ensuite à l'intérieur de cette intervalle délimité par celui-ci on cherche le deuxième Node etc... A la fin on vérifie que c'est le dernier et si il est trouvé, c'est que le chemin existe sinon il a été positionné à False au début de la procédure } Trouve:=False; For i:=l to m do begin if ContientTexte (LowerCase (Temp.Strings[i]),LowerCase ('<'+Balises.Strings [j]+'>')) then begin Trouve:=True; l:=i; //Position de la balise nième end; if (Trouve and ContientTexte (LowerCase (Temp.Strings[i]),LowerCase ('</'+Balises.Strings [j]+'>'))) then begin if j=Balises.Count-1 then Result:=True; {Si c'est la dernière tout est trouvé et on va s'arrêter là} m:=i;Break; //Position de la fermeture de la balise nième end; end; If not Trouve then Break; {Si la néime balise n'a pas été trouvé ne pas chercher la n+1 !} end; //End du For j Except Result:= False; end; Finally Temp.free; Balises.free; //Libération des TStringList end; end;
Merci d'avance de votre aide.
fjohnny
|
|
Cette discussion est classée dans : fichier, end, xml, chemin, node
Répondre à ce message
Sujets en rapport avec ce message
afficher une image dans une zone Timage [ par jeanjeandada ]
Bonjour, Je suis débutant sur Delphi mais j'ai regardé pas mal de tutorial...Voici mon probléme :Je souhaite afficher une image dans une zone Timage s
Interface Delphi 6 et BDD HF7 (windev) [ par simplyDje ]
Bonjour, Je suis actuellement en train de travailler sur un projet devant réaliser l'interface entre une base de donnée HF7 (sous windev) et l'utili
XML AVEC DELPHI 5 [ par guy jeuniaux ]
Bonjour,Je viens encore une fois solliciter votre aide. J'ai besoin de récupérer une valeur dans un fichier XML.J'ai cherché pendant des heures sur le
Lecture fichier XML vers une ou plusieurs classes [ par furax13 ]
Soit le fichier xml suivant : 0 <coefficient nom=
Syntaxe XML [ par grandyaka54 ]
Bonjour, Je suis en train de développer une petite application sur Delphi. Je sais lire et écrire dans un fichier xml en utilisant le composant IXMLDo
faire glisser un fichier sur une icone en recuperant le chemin [ par shell13010 ]
Bonjour a tous,J'aimerais si c'est possible de recuperer le chemin d'un fichier en le faisant glisser sur l'icone de mon programme pour qu'il puisse r
Test présence noeud XML [ par didou2dek ]
Bonjour à tous, je suis en train de coder une appli me permettant de recuperer des valeurs d'un fichier XML, cependant je bloque sur une fonction que
Error E/S 32 sur ecriture et suppresion [ par te56350 ]
slt tt le mondej'Ai besoin d'une solution pour mon projet en cour SVPMon projet gère des comptes utilisAteurs Et qu'An j'enregistre des comptes çA fon
Génération d'un fichier XML avec Delphi 2009 [ par littlebolide ]
Bonjour,Par la force des choses je dois me remettre dans la programmation (Delphi 2009) pour ma société (ventes de voitures de collection) dans le cad
Parcours d'un fichier XML [ par TrustNoOne ]
Bonjour à tous, J'ai un petit soucis pour la lecture d'un fichier XML. J'ai effectué des modifs en long en large en travers mais rien n'y fait. Après
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|