Bonjour, j'aurais une question g=E9n=E9rale sur XML avec Perl, car je
suis en train de m'y initier :
Je souhaite =E9crire un script afin de g=E9n=E9rer un fichier XML
exploitable par la suite dans une base de donn=E9es. J'ai pu voir
l'int=E9r=EAt de XML sur les site qui y sont consacr=E9s.
N=E9anmoins, avant de me lancer dans du code, je voudrais avoir une
petite pr=E9cision.
Mon script devra parser plusieurs fichiers afin d'avoir une
arborescence XML :
Est-il possible :
1=2E de faire une recherche dans une arborescence :
exemple: recherche dans un fichier l'=E9l=E9ments correspondant =E0
<endroit>maison</endroit> sans avoir =E0 lire chaque ligne du fichier.
2=2E d'ins=E9rer <piece>cuisine</piece> dans un fichier =E9galement en
acc=E9dant directement =E0 un =E9lement (comme pour la question 1. en
fait)
J'ai cru voir dans les modules Perl qu'une arborescence peut =EAtre
contenue en RAM mais vu la taille des fichiers =E0 parser, j'ai des
doutes.
En vous remerciant,
Je pr=E9cise que c'est pour le bureau, pas pour un devoir de fac en
retard :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Rodriguez
ctobini wrote:
Bonjour, j'aurais une question générale sur XML avec Perl, car je suis en train de m'y initier :
Je souhaite écrire un script afin de générer un fichier XML exploitable par la suite dans une base de données. J'ai pu voir l'intérêt de XML sur les site qui y sont consacrés.
Néanmoins, avant de me lancer dans du code, je voudrais avoir une petite précision.
Mon script devra parser plusieurs fichiers afin d'avoir une arborescence XML :
Est-il possible :
1. de faire une recherche dans une arborescence : exemple: recherche dans un fichier l'éléments correspondant à <endroit>maison</endroit> sans avoir à lire chaque ligne du fichier.
2. d'insérer <piece>cuisine</piece> dans un fichier également en accédant directement à un élement (comme pour la question 1. en fait)
J'ai cru voir dans les modules Perl qu'une arborescence peut être contenue en RAM mais vu la taille des fichiers à parser, j'ai des doutes.
Salut,
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange. Une base de donnees c'est un systeme qui stocke des donnees (et si possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML precise la syntaxe de ce fichier, qui est un fichier texte avec des balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien decrit, relativement auto-documente (les balises), facile a lire sans outil specifique (c'est du texte), et il existe pleins d'outils pour le traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est pas specifie dans la recommandation. Donc en general ca veut dire que tu traites les fichiers comme du texte, et tu dois les lire en entier. En plus dans beacoup de modules tu charges le document entierement en memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus: http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html
Ca repond a tes questions?
-- mirod
ctobini wrote:
Bonjour, j'aurais une question générale sur XML avec Perl, car je
suis en train de m'y initier :
Je souhaite écrire un script afin de générer un fichier XML
exploitable par la suite dans une base de données. J'ai pu voir
l'intérêt de XML sur les site qui y sont consacrés.
Néanmoins, avant de me lancer dans du code, je voudrais avoir une
petite précision.
Mon script devra parser plusieurs fichiers afin d'avoir une
arborescence XML :
Est-il possible :
1. de faire une recherche dans une arborescence :
exemple: recherche dans un fichier l'éléments correspondant à
<endroit>maison</endroit> sans avoir à lire chaque ligne du fichier.
2. d'insérer <piece>cuisine</piece> dans un fichier également en
accédant directement à un élement (comme pour la question 1. en
fait)
J'ai cru voir dans les modules Perl qu'une arborescence peut être
contenue en RAM mais vu la taille des fichiers à parser, j'ai des
doutes.
Salut,
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange.
Une base de donnees c'est un systeme qui stocke des donnees (et si
possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML
precise la syntaxe de ce fichier, qui est un fichier texte avec des
balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien
decrit, relativement auto-documente (les balises), facile a lire sans
outil specifique (c'est du texte), et il existe pleins d'outils pour le
traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est
pas specifie dans la recommandation. Donc en general ca veut dire que tu
traites les fichiers comme du texte, et tu dois les lire en entier. En
plus dans beacoup de modules tu charges le document entierement en
memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre
ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un
systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du
module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en
servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus:
http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html
Bonjour, j'aurais une question générale sur XML avec Perl, car je suis en train de m'y initier :
Je souhaite écrire un script afin de générer un fichier XML exploitable par la suite dans une base de données. J'ai pu voir l'intérêt de XML sur les site qui y sont consacrés.
Néanmoins, avant de me lancer dans du code, je voudrais avoir une petite précision.
Mon script devra parser plusieurs fichiers afin d'avoir une arborescence XML :
Est-il possible :
1. de faire une recherche dans une arborescence : exemple: recherche dans un fichier l'éléments correspondant à <endroit>maison</endroit> sans avoir à lire chaque ligne du fichier.
2. d'insérer <piece>cuisine</piece> dans un fichier également en accédant directement à un élement (comme pour la question 1. en fait)
J'ai cru voir dans les modules Perl qu'une arborescence peut être contenue en RAM mais vu la taille des fichiers à parser, j'ai des doutes.
Salut,
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange. Une base de donnees c'est un systeme qui stocke des donnees (et si possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML precise la syntaxe de ce fichier, qui est un fichier texte avec des balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien decrit, relativement auto-documente (les balises), facile a lire sans outil specifique (c'est du texte), et il existe pleins d'outils pour le traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est pas specifie dans la recommandation. Donc en general ca veut dire que tu traites les fichiers comme du texte, et tu dois les lire en entier. En plus dans beacoup de modules tu charges le document entierement en memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus: http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html
Ca repond a tes questions?
-- mirod
ctobini
Hello et merci de ta réponse,
J'ai téléchargé ta présentation, c'est plus que clair :-)
Je pensais à injecter mes données directement dans un SGBD, je vais avoir un grand nombre de requêtes, mais je pensais, pour la mise à jour, à avoir un fichier plat afin de pouvoir éventuellement le remanipuler derrière.
Quoi qu'il en soit, dans l'immédiat, XML apparement pas adapté à mon besoin.
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange. Une base de donnees c'est un systeme qui stocke des donnees (et si possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML precise la syntaxe de ce fichier, qui est un fichier texte avec des balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien decrit, relativement auto-documente (les balises), facile a lire sans outil specifique (c'est du texte), et il existe pleins d'outils pour le traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est pas specifie dans la recommandation. Donc en general ca veut dire que tu traites les fichiers comme du texte, et tu dois les lire en entier. En plus dans beacoup de modules tu charges le document entierement en memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus: http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html
Ca repond a tes questions?
-- mirod
Hello et merci de ta réponse,
J'ai téléchargé ta présentation, c'est plus que clair :-)
Je pensais à injecter mes données directement dans un SGBD, je vais
avoir un grand nombre de requêtes, mais je pensais, pour la mise à
jour, à avoir un fichier plat afin de pouvoir éventuellement le
remanipuler derrière.
Quoi qu'il en soit, dans l'immédiat, XML apparement pas adapté à mon
besoin.
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange.
Une base de donnees c'est un systeme qui stocke des donnees (et si
possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML
precise la syntaxe de ce fichier, qui est un fichier texte avec des
balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien
decrit, relativement auto-documente (les balises), facile a lire sans
outil specifique (c'est du texte), et il existe pleins d'outils pour le
traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est
pas specifie dans la recommandation. Donc en general ca veut dire que tu
traites les fichiers comme du texte, et tu dois les lire en entier. En
plus dans beacoup de modules tu charges le document entierement en
memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre
ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un
systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du
module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en
servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus:
http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html
J'ai téléchargé ta présentation, c'est plus que clair :-)
Je pensais à injecter mes données directement dans un SGBD, je vais avoir un grand nombre de requêtes, mais je pensais, pour la mise à jour, à avoir un fichier plat afin de pouvoir éventuellement le remanipuler derrière.
Quoi qu'il en soit, dans l'immédiat, XML apparement pas adapté à mon besoin.
Il ne faut pas confondre XML et un SGBD. XML c'est un format d'echange. Une base de donnees c'est un systeme qui stocke des donnees (et si possible permet de les utiliser!).
Tes donnees en XML, a la base elles sont dans un (des) fichier(s). XML precise la syntaxe de ce fichier, qui est un fichier texte avec des balises (tags) dedans. C'est tout.
C'est bien pratique pour echanger tes donnees: XML est un format bien decrit, relativement auto-documente (les balises), facile a lire sans outil specifique (c'est du texte), et il existe pleins d'outils pour le traiter.
Par contre si tu veux faire de l'acces direct dans ton fichier, la c'est pas specifie dans la recommandation. Donc en general ca veut dire que tu traites les fichiers comme du texte, et tu dois les lire en entier. En plus dans beacoup de modules tu charges le document entierement en memoire pour pouvoir travailler sur son arbre. Au mieux tu peux mettre ton XML dans une base de donnees (les mecs qui font Berkeley-DB on un systeme comme ca, mais je suis pas sur de son etat, ni de l'etat du module d'interface en Perl).
Conclusion: XML c'est pour echanger les donnees, les DB c'est pour s'en servir de maniere intensive.
Tiens, j'ai meme fait une mini-presentation la-dessus: http://xmltwig.com/talk/stop/stop_using_xml_everywhere.html