Forum Programmation.autre Question scan/replace dans fichier XML

Posté par  .
Étiquettes : aucune
0
10
juin
2006
Salut à tous,

J'ai un fichier XML , j'aimerais savoir si une commande (ou un script) standard permet de faire:

Retour = Dans la valeur relative à la balise TOTO, change "truc_much" en "trik_much" ;
Retour = Dans la valeur relative à la balise TITI, change "23" en "**" ;
Retour = Dans la valeur relative à la balise TATA, change "pipo" en "geek" ;


le code retour contient l'information de ce qui a été réalisé:

exemple:
0: balise trouvée, valeur trouvée et changement réalisé
1: balise trouvée, valeur non trouvée
2: balise non trouvée


Je me demande si ça n'a pas déjà été inventé =) En plus, j'avoue que je préfère utiliser du standard (ou du déjà développé), plutôt que de développer un script. En effet, je suis pas expert dans ce domaine. En plus, le fait que les valeurs d'une balise peuvent être décrites sur plusieurs lignes, ça complexifie l'algo...

Bref, je suis ouvert à toutes vos remarques =)


Merci.
  • # XPath ou XSLT ?

    Posté par  (site web personnel) . Évalué à 1.

    j'espere que les spécialistes me pardonneront les qq raccourcis que je vais faire dans la suite ...

    pour manipuler et donc interroger un fichier XML, il existe deux outils :
    - XPath
    - XSLT

    XPath est une norme permettant de formuler des questions du genre "donne moi la liste des element toto qui descendent de tata et qui ont un attribut titi valant tutu".

    XSLT est un langage permettant de transformer un XML en un autre XML ou document texte.

    XSLT fait un usage intensif de XPath. les deux sont comme XML normalisé par le W3C.

    Coté interface utilisateur, l'outil que je te recommande est libxml2 et libxslt avec xsltproc . C'est libre, gratuit et francais ;)
    • [^] # Re: XPath ou XSLT ?

      Posté par  . Évalué à 1.

      Merci pour l'information.

      J'ai regardé sur le net, mais je n'ai pas encore trouvé la méthode pour m'en servir.

      Tu n'aurais pas des exemples de commandes ?

      En fait j'ai un fichier "toto.xml" contenant:

      "<TOTO>1234567</TOTO><TRUC>pipo le
      retour</TRUC><MACHIN>342</MACHIN>"


      Je recherche la commande qui me permet de faire

      change Balise=TRUC Valeur_avant="pipo le retour" Valeur_après="nouvelle valeur" toto.xml toto_new.xml


      avec en résultat dans toto_new:

      "<TOTO>1234567</TOTO><TRUC>nouvelle valeur
      </TRUC><MACHIN>342</MACHIN>"


      A défaut une commande qui force la valeur directement pour une balise serait déja nickel.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.