GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come estrarre un singolo attributo da un file XML?

Non ho molta familiarità con regex, sed, ecc. e sono un po' pigro per capirlo in questo momento, quindi come estraggo questa riga:

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

Fammi sapere se è necessaria più struttura xml.

Risposta accettata:

Poiché i dati di input (il tuo file XML) sono strutturati, è meglio usare una query su quei dati strutturati, piuttosto che trattarli come testo normale e pasticciare con le espressioni regolari.

Possiamo usare xmllint --xpath per valutare un'espressione XPath nell'input xml:

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

– questo è un po' contorto, poiché dobbiamo occuparci dei diversi spazi dei nomi in quel file, ma funziona comunque.

Per ulteriori informazioni su XPath, le specifiche sono disponibili all'indirizzo http://www.w3.org/TR/xpath/


Ubuntu
  1. Come leggere una variabile da un file?

  2. Come creare un file .img da .iso su Ubuntu?

  3. Come modificare l'autorizzazione su un singolo file?

  4. Come stampare da Vim a PDF?

  5. Come estraggo un singolo pezzo di byte dall'interno di un file?

Come estrarre (decomprimere) il file Tar Gz

Come estrarre (decomprimere) il file tar.xz

Come visualizzare i dati da un file di testo in Linux

Come estrarre indirizzi e-mail da file di testo in Linux

Come accedere ai file di Windows da Ubuntu?

Come estrarre un file RAR su Ubuntu