begin process at 2010 09 03 08:58:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ColdFusion

 > 

Base de données

 > 

XML

 > 

cfm et xml


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

cfm et xml

lundi 27 août 2007 à 11:24:57 | cfm et xml

zied_cfm

salut, svp comment recuperer des donnés d'un fichier XML avec coldfusion ? et merci d'avance
mardi 28 août 2007 à 11:40:07 | Re : cfm et xml

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Bonjour,

une petite recherche sur ce site et hop : http://www.cfmfrance.com/infomsg_RECUPERER-DONNEES-FICHIER-XML_460509.aspx

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle

mardi 28 août 2007 à 13:10:29 | Re : cfm et xml

zied_cfm

Réponse acceptée !
merci pour l'aide, j'ai utiliser XmlParse, XmlSearch
<cfscript> myxmldoc = XmlParse("C:\CFusionMX7\wwwroot\examples\employeesimple.xml"); selectedElements = XmlSearch(myxmldoc, "/employee/name/last"); for (i = 1; i LTE ArrayLen(selectedElements); i = i + 1) writeoutput(selectedElements[i].XmlText & "<br>"); </cfscript>
mercredi 10 mars 2010 à 18:01:44 | Re : cfm et xml

vachdzil


Bonjour,

Je programme en coldfusion mais je débute avec le XML.
J'ai réussi à générer un fichier simple, à l'exploiter mais je me bats depuis des heures pour extraire les données d'un fichier un peu plus complexe.
j'ai lu attentivement les messages de ce forum, et d'autres sites, notamment l'excellent http://www.learn-coldfusion-tutorial.com/Xml.cfm mais sans parvenir à faire ce que je voulais faire. J'en appelle donc à vos lumières.
J'ai donc un fichier XML qui a la forme suivante :
<?xml version="1.0" encoding="UTF-8" ?>
<points>
<point num="0" temps="22/11/2010|12:30:12" temp="20"/>
<point num="1" temps="22/11/2010|16:30:12" temp="20"/>
<point num="2" temps="23/11/2010|12:30:12" temp="22"/>
<point num="3" temps="23/11/2010|16:30:12" temp="21"/>
</points>

Je souhaite en extraire les données pour les afficher et les trier par date. Ca donnerait en sortie :
22/11/2010
12h30 - temp : 20°
16h30 - temp : 20°
23/11/2010
12h30 - temp : 22°
16h30 - temp : 21°

Tout ce que j'ai réussi à faire c'est un tableau avec la fonction Arraynew, ce qui donne :
@temps
1-22/11/2010|12:30:12
2-22/11/2010|16:30:12
3-23/11/2010|12:30:12
4-23/11/2010|16:30:12
@temp
1-20
2-20
3-22
4-21

Si quelqu'un peut m'indiquer un tutorial "XML pour les nuls" ou m'expliquer en quelques mots comment m'en sortir, ce serait super.

Merci d'avance

Stéphanie
mercredi 10 mars 2010 à 20:40:07 | Re : cfm et xml

nickadele

Membre Club Administrateur CodeS-SourceS
Bonjour,

a quel niveau bloques-tu?
As-tu déjà un début de code ?

Un peu de documentation !
Et un petit exemple qui devrait te mettre sur la bonne piste !

Nickadele
non, ma belle ne s'appel pas Adèle
Mon Blog
jeudi 11 mars 2010 à 09:33:09 | Re : cfm et xml

vachdzil


Bonjour,

Merci de te pencher sur mon problème.
Voici mon code.

1er essai :

<cfset xmlDonnees=XMLParse(ExpandPath("datas.xml"))>
<cfoutput>
<strong>Date | Heure : #xmlDonnees.points.point.XmlAttributes.temps#</strong><br>
Température de l'air : #xmlDonnees.points.point.XmlAttributes.temp#°C<br>
</cfoutput>
Là je ne sais pas comment boucler sur les données et comment ne sélectionner que les données pour une date donnée. En fait je voufrais faire l'équivalent d'un CFQUERY sur les datas avec un WHERE sur la date. Puis un <CFOUTPUT QUERY>.

Suivant le tutorial cité plus haut, j'ai réussi à extraire les données sous la forme d'un tableau mais ce n'est pas ce que je voulais faire. Ce la donne :

2ème essai :

<cfset xmlDonnees=XMLParse(ExpandPath("datas.xml"))>
<cfoutput>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th>XPath</th>
<th>Result</th>
</tr>
<cfset arrXPs = ArrayNew(1)>
<cfset ArrayAppend(arrXPs,"/points/point/@temps")>
<cfset ArrayAppend(arrXPs,"/points/point/@temp")>

<cfloop index="i" from="1" to="#ArrayLen(arrXPs)#">
<cfset xp = arrXPs[i]>
<cfset arrResult = XmlSearch(xmlDonnees,xp)>

<tr valign="top">
<td>#xp#</td>
<td>
<ol>
<cfloop index="i" from="1" to="#ArrayLen(arrResult)#">
<li>
<cftry>
#arrResult[i].XmlText#
<cfcatch type="any">#arrResult[i]#</cfcatch>
</cftry>
</li>
</cfloop>
</ol>
</td>
</tr>
</cfloop>
</table>
</cfoutput>

Voilà, où j'en suis...
Merci pour les liens, mais chez moi ils ne fonctionnent pas.

Stéphanie
jeudi 11 mars 2010 à 13:28:04 | Re : cfm et xml

nickadele

Membre Club Administrateur CodeS-SourceS

Bonjour,
de tête pour boucler normalement c'est comme ceci :

<cfset xmlDonnees=XMLParse(ExpandPath("datas.xml"))>
<cfloop index="i" from="1" to="xmlDonnees.points.xmlChildren">
<cfoutput>
<strong>Date | Heure : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temps#</strong><br>
Température de l'air : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temp#°C<br>
</cfoutput>
</cfloop>

Nickadele
non, ma belle ne s'appel pas Adèle
Mon Blog
jeudi 11 mars 2010 à 13:59:16 | Re : cfm et xml

vachdzil


Bonjour,

je viens de tenter et voilà l'erreur que j'obtiens :
Attribute validation error for CFLOOP.
The value of the TO attribute is invalid. The value cannot be converted to a numeric because it is not a simple value.Simple values are booleans, numbers, strings, and date-time values.

Alors j'ai rajouté des ## autour de xmlDonnees.points.xmlChildren et là j'ai eu :
The value coldfusion.xml.XmlNodeArray cannot be converted to a number

Je ne trouve pas xmlChildren dans l'aide de CF...

Stéphanie
jeudi 11 mars 2010 à 14:36:41 | Re : cfm et xml

vachdzil


Par contre quand je fais :
<cfset xmlDonnees=XMLParse(ExpandPath("datas.xml"))>
<cfloop index="i" from="1" to="4">
<cfoutput>
<strong>Date | Heure : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temps#</strong><br>
Température de l'air : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temp#°C<br>
</cfoutput>
</cfloop>

J'obtiens :
Date | Heure : 22/11/2010|16:30:12
Température de l'air : 22°C
Date | Heure : 22/11/2010|16:30:12
Température de l'air : 22°C
Date | Heure : 22/11/2010|16:30:12
Température de l'air : 22°C
Date | Heure : 22/11/2010|17:30:12
Température de l'air : 22°C

Il y a bien donc un souci sur le format de xmlDonnees.points.xmlChildren... mais lequel ?

Stéphanie
jeudi 11 mars 2010 à 15:09:01 | Re : cfm et xml

vachdzil


J'ai réussi même si je pense que ce n'est pas très orthodoxe.

Voilà le code :
<cfset xmlDonnees=XMLParse(ExpandPath("datas.xml"))>

<cfset arrXPs = ArrayNew(1)>
<cfset ArrayAppend(arrXPs,"/points/point")>


<cfloop index="i" from="1" to="#ArrayLen(arrXPs)#">
<cfset xp = arrXPs[i]>
<cfset arrResult = XmlSearch(xmlDonnees,xp)>
</cfloop>


<cfloop index="i" from="1" to="#ArrayLen(arrResult)#">
<cfoutput>
<cfif #FindNoCase("22/11/2010", xmlDonnees.points.xmlChildren[i].XmlAttributes.temps)#>
<strong>Date | Heure : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temps#</strong><br>
Température de l'air : #xmlDonnees.points.xmlChildren[i].XmlAttributes.temp#°C<br>
</cfif>
</cfoutput>
</cfloop>

Et j'obtiens :

Date | Heure : 22/11/2010|16:30:12
Température de l'air : 22°C
Date | Heure : 22/11/2010|17:30:12
Température de l'air : 22°C
Date | Heure : 22/11/2010|18:30:12
Température de l'air : 22°C

Je néanmoins suis toujours preneuse d'une solution plus efficace.
Merci pour ton aide précieuse.

Stéphanie


Cette discussion est classée dans : xml, cfm


Répondre à ce message

Sujets en rapport avec ce message

XML et CFM [ par syndrael ] Voila mon problème j'ai la donnée XML suivante:Juste cela.J'ai une donnée à insérer qui sera sous la forme <ip param= Code php simple en cfm... [ par fabiin ] Salut,je ne programme pas en cfm, mais j'ai besoin de ce code php en cfm :)$date1 = mktime(18,33,0,10,30,2003);$date2 = mktime(18,36,40,10,30,2003);$d Valeurs CFPARAM URL.ID [ par zorro699 ] J'ai deux page cfm.La première contient une requete qui affiche le contenu d'une db access2000.SELECT ID, Titres,"Date", introFROM ModeWHERE ID = #URL emplois sur Paris (CFM/MYSQL) [ par ericchw ] Y a t il des codeurs sur Paris pour un projet multilingue sur cold MX / Mysql (projet sur 1 mois ou 2)Me contacter au plus vite. Troublant et agaçant... [ par smathios ] Bonjour,Je fais afficher dans un tableau les enregistrements récupérés dans ma base de données.Jusqu'ici , aucun problème.Par exemple, je fais affiche Utiliser les variables de session [ par FRH ] Je désire utiliser des variable de session pour loguer l'utilisateur.Je déclare dans Application.cfm mes variables de session: name="CETEVIMSUD" setc passage #session.URLToken# dans chaque lien !!!! [ par miketrix ] Salut à tous, JE suis étudiant en projet CFM, c'est mon deuxième projet donc je commence vaguement à manipuler le CFM de façon correcte :) ( quoi que utilisation Access avec Coldfusion [ par hpph ] Je dois préparer des exemples pour mes étudiants en cfm.sur une machine, j'ai installé coldfusion en standalone.Pour définir une connexion, j'appelle erreur 404 et application.cfm [ par nicoulas ] Bonjour à tous.Je suis totalement nouveau en Coldfusion.J'aimerais savoir si il est possible de personnaliser les pages d'erreur 404 via application.c PROBLEME SESSION ! ! ! [ par adamek ] bonjour, je debute en CF et j'ai un ptit soucis avec les sessions :j'ai crée 2 pages CFM (1.cfm et 2.cfm)-------------------------------------------pr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales