GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment extraire un seul attribut d'un fichier XML ?

Je ne suis pas vraiment familier avec regex, sed, etc. et un peu paresseux pour le comprendre en ce moment, alors comment puis-je extraire cette ligne :

<yweather:astronomy sunrise="6:50 am" sunset="7:06 pm"/>

Faites-moi savoir si plus de structure xml est nécessaire.

Réponse acceptée :

Étant donné que les données d'entrée (votre fichier XML) sont structurées, vous feriez mieux d'utiliser une requête sur ces données structurées, plutôt que de les traiter comme du texte brut et de jouer avec des expressions régulières.

Nous pouvons utiliser xmllint --xpath pour évaluer une expression XPath sur votre entrée xml :

$ xmllint --xpath 'string(rss/channel/*[local-name()="astronomy"]/@sunrise)' weather.xml
6:48 am

- c'est un peu compliqué, car nous devons gérer les différents espaces de noms dans ce fichier, mais ça marche quand même.

Pour plus d'informations sur XPath, la spécification est à http://www.w3.org/TR/xpath/


Ubuntu
  1. Comment lire une variable à partir d'un fichier ?

  2. Comment changer l'autorisation sur un seul fichier ?

  3. Comment imprimer de Vim en PDF ?

  4. Comment puis-je extraire un seul bloc d'octets d'un fichier ?

  5. Comment extraire le fichier filename.tar.gz

Comment extraire (décompresser) le fichier Tar Gz

Comment extraire (décompresser) le fichier tar.xz

Comment afficher les données d'un fichier texte sous Linux

Comment extraire des adresses e-mail d'un fichier texte sous Linux

Comment accéder aux fichiers Windows à partir d'Ubuntu ?

Comment extraire un fichier RAR sur Ubuntu