Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

Initiation en xml

nita2006, le mercredi 4 juin 2008 à 11:00:18 
 Signaler ce message aux modérateurs

Bonjour,
je souhaite realiser un site intranet de la societé dans laquelle je fais mon stage ; en fait le langage avce lequel je dois programmer c'est du xml , dont j'ai beau cherché sur le net j'ai pas trouvé grand chose , je voudrais avoir des tp avce corrigé bien expliqué , en gros ce que j'ai comrpsi xml c'est un langage de balisage extensible dont son abjectif est de faciliter l'échange automatisé de contenus entre systèmes d'informations hétérogènes.
mais vu les exmple que j'ai trouvés sur le net ca parait un ti peu louche , dans un seul fichier ils disent que c est plus simple alors que je vois la balise qui se repete a chaque fois en fonction de chauque entrée , je sais pas si je me fais comprendre mais le probleme j essai de tourver comment ca s execute un fichier .xml , un exemple concret qui me permettra d avancer
merci

1

LegGohan, le mercredi 4 juin 2008 à 11:04:34

Contact moi en mp si tu es interessé par des cours de xml que j'ai eu cette année en licence pro.
Je pense qu'ils sont pas mal du tout!!!

Répondre à LegGohan

2

sebsauvage, le mercredi 4 juin 2008 à 11:06:53

en fait le langage avce lequel je dois programmer c'est du xml

Oups... XML n'est pas un langage de programmation.

Voir: http://sebsauvage.net/comprendre/xml/index.html

XML n'est pas une fin en soit. C'est une des nombreuses méthodes pour structurer des données.
Ne jamais sous-estimer la puissance des bases de données (même SQLite !).

XML est généralement utilisé à tort et à travers.

Répondre à sebsauvage

4

sebsauvage, le mercredi 4 juin 2008 à 11:22:16

Pour illustrer mon propos:

Pourquoi je préfère SQLite à XML ?

SQLite est plus compact (XML gaspille une place énorme): Pour les mêmes données, l'XML prendra au minimum le double de place ! (à cause des balises).
XML n'est pas efficace en matière de stockage. Il est incroyablement verbeux.

XML est lent. Très lent. Lire de gros fichiers XML est horriblement lent, et ça bouffe beaucoup de CPU.
SQLite est extrêmenent rapide. Même sans les indexes, SQLite est plus rapide que toutes les API XML que j'ai pu tester.
Faites des tests de recherche dans un grand ensemble de données, vous verrez la différence (Essayez 1 Go pour voir).

XML est lourd à programmer.
Que vous choisissiez DOM ou SAX, lire un fichier XML est horriblement lourd à programmer.
A comparer à une simple requête SQL, y'a pas photo.
Ou même un simple fichier tabulaire.

En prime, le SQL peut me faire des filtres, des tris, des croisements de données, des calculs... tout un tas de trucs que vous allez reprogrammer si vous travaillez en XML.
Pourquoi ré-inventer la roue ? Vous aimez perdre du temps ?
Sans compter que les serveurs de bases de données sont optimisés pour ce genre de travail, et qu'ils feront un bien meilleur boulot que ce que vous pourrez programmer.

SQLite est portable également: Windows, Mac, Linux... des grands systèmes jusqu'aux PDA
(SQLite est utilisé dans l'iPhone d'Apple)
Je peux transférer ma base SQLite d'un système à l'autre et l'utiliser directement.

Une base SQLite est autant auto-descriptive d'un fichier XML.
Donc XML n'a aucun avantage là dessus.

Essayez de modifier une partie d'un fichier XML. Vous allez vous tirer une balle.
Soit vous passez par DOM, et ça bouffe une quantité pas possible de mémoire, soit vous passez par SAX et vous êtes bon pour ré-écrire tout le fichier. Non merci.
En SQL, j'ai un ordre UPDATE à lancer.

Essayez de stocker des données binaire en XML. Bon courage (base64 ?)
Les bases de données gèrent les données binaires sans problème, et de manière efficace.

La plupart des bases de données permettent un typage des données, inexistant en XML.

Les bases de données permettent la mise en place de contraintes pour assurer une plus grande cohérence des données.
Inexistant en XML.

Enfin, quand vous écrivez un fichier XML, vous n'avez aucune garantie d'intégrité des données.
SQLite respecte le propriétés ACID: Je suis sûr que mes données ne seront jamais en vrac.


Je parle de SQLite, mais la plupart de ces propriétés s'appliquent également aux autres bases de données (Oracle, mySQL, etc.)

XML est une solution à la recherche d'un problème, j'en suis de plus en plus convaincu (et j'ai quelques années de travail en milieu professionel derrière moi).

Répondre à sebsauvage

3

Rocky_123, le mercredi 4 juin 2008 à 11:15:04
  • +1

Salut, XML n'est pas un langage de programmation mais une façon de représenter les données. En fait c'est à toi de décider comment faire ton fichier XML, sa structure peut faire penser à un arbre, exemple :

<contacts>
 <personne>
  <nom>A</nom>
  <prenom>A</prenom>
 </personne>

 <personne>
  <nom>B</nom>
  <prenom>B</prenom>
 </personne>

 ...
</contacts>


Tout dépend jusqu'où tu veux aller. Le XML peut être utilisé pour stocker n'importe quoi, et il permet bien sûr d'être échangé facilement d'une application à l'autre.

Exemple de XML utilisé en pratique : un extrait de fichier XMLTV (pour les guides TV électroniques) :

  <channel id="tf1.fr">
    <display-name lang="fr">TF1</display-name>
    <display-name>TF1</display-name>
    <icon src="http://www.lyngsat-logo.com/logo/tv/tt/tf1.jpg" />
  </channel>
  ....

   <programme start="20080602101500 +0200" stop="20080602110500 +0200" channel="tf1.fr">
    <title>7 à la maison</title>
    <desc lang="fr">Série familiale américaine (7th Heaven). Saison 4, 1999-2000 (8/22).</desc>
    <category>série</category>
    <url>http://www.telemoustique.be/epg/fr/detail.asp?progid=7511537620080602TF1.001</url>
    <episode-num system="onscreen">(8/22)</episode-num>
    <subtitles type="teletext" />
  </programme>


Là tu vois comment est organisé le fichier XML. Après bien sûr, à l'application de traiter ce format (dans ce cas par exemple, une TV qui affiche à l'écran le programme TV).

Sur le site www.developpez.net j'ai vu quelques exemples.

Répondre à Rocky_123

5

nita2006, le mercredi 4 juin 2008 à 11:36:19

Oui tout ca j ai compris , mais je fais comment pour le voir en concret
la par exemple le bout de code que tu m'as fait
<contacts>
<personne>
<nom>A</nom>
<prenom>A</prenom>
</personne>

<personne>
<nom>B</nom>
<prenom>B</prenom>
</personne>

...
</contacts>
en quoi je peux le concrétiser ? voir ce resultat ?

Répondre à nita2006

6

sebsauvage, le mercredi 4 juin 2008 à 11:39:42

en quoi je peux le concrétiser ? voir ce resultat ?

Le résultat, tu l'as sous les yeux: Une structure de données prévue pour stocker un type de données bien précis.

Après, tu peux créer des programmes pour le transformer: en HTLM, en fichier CSV, etc.

Ce sont juste des données stockées: C'est ton programme qui va déterminer le résultat du traitement de ces données.

Répondre à sebsauvage

7

nita2006, le mercredi 4 juin 2008 à 11:58:00

Ok , et si alors j ai 200 000 entrées je vais de voir entrer 200 000 personnes , tu penses que c'est evident .?
et je fais comment pour le prog qui permet de l'afficher en html

Répondre à nita2006

8

 sebsauvage, le mercredi 4 juin 2008 à 13:08:40

Pour 200000 entrées, ça me semble aberrant d'utiliser XML.

Une base de données sera bien mieux adaptée (beaucoup plus rapide, plus facile à progammer...)

Répondre à sebsauvage
Introduction à XML Présentation de XML XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement... www.commentcamarche.net/contents/xml/xmlintro.php3
PHP - Parser du XML Introduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3
Mise en page de XML avec XSL Introduction à XSL XML est un langage de structuration des données, et non de représentation des données. Ainsi XSL (eXtensible StyleSheet Language) est un langage recommandé par le W3C pour effectuer la représentation des données de documents XML.... www.commentcamarche.net/contents/xml/xmlxsl.php3
Application n'a pas réussi à s'initialiser... (Résolu)Bonsoir à tous; Un problème à vous soumettre: J'essaye de lancer un petit utilitaire de conversion appellé "verter.exe" sur mon pc. A chaque fois il m'écrit : "l'application n'a pas réussi à s'initialiser correctement. 0xc0000135. appuyer sur ok pour... www.commentcamarche.net/forum/affich-2062729-application-n-a-pas-reussi-a-s-initialiser
Import données XML -> Base de données (Résolu)Bonjour à tous J'aurai besoin d'aide en VB, j'ai réalisé un outil pour le moment qui permet de changer un fichier excel en fichier XML, les données XML serviront pour la base de données crée, j'aimerai savoir comment je peus m'y prendre pour importer... www.commentcamarche.net/forum/affich-1258405-import-donnees-xml-base-de-donnees
PHP et XML (Résolu)Bonjour j'aimerai bien savoir SVP est ce qu'on a la possibilté d'inclure un code PHP au sein d'une page XML . Merçi en avance aux gens qui veulent m'aider. www.commentcamarche.net/forum/affich-1923554-php-et-xml
Télécharger DriveImage XMLDriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de sauvegarde, à la manière de Norton Ghost. Ce programme permet : De créer des images des lecteurs logiques et des... www.commentcamarche.net/telecharger/telecharger-34055109-driveimage-xml
Structure d'un document XMLQu'est-ce que le XML? La norme XML en tant que telle doit être vue comme un outil permettant de définir un langage (on dit alors qu'il s'agit d'un métalangage), permettant de créer des documents structurés à l'aide de balises. Une balise est une... www.commentcamarche.net/contents/xml/xmlstruc.php3
DOM (Document Object Model) et SAX (Simple API for XML)XML permet de définir la structure du document uniquement, ce qui permet d'une part de pouvoir définir séparément la présentation de ce document, d'autre part d'être capable de récupérer les données présentes dans le document pour les... www.commentcamarche.net/contents/xml/xmldomsax.php3
Les espaces de nom XMLIntroduction aux espaces de noms XML définit un système permettant de créer des balises modulaires, c'est-à-dire pouvoir donner la possibilité d'utiliser des balises provenant de différents langages à balise au sein d'un même document grâce à la... www.commentcamarche.net/contents/xml/xmlns.php3