GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak extrahovat jeden atribut ze souboru XML?

Nejsem ve skutečnosti obeznámen s regulárním výrazem, sed atd. a jsem trochu líný to v tuto chvíli zjistit, tak jak extrahuji tento řádek:

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

Dejte mi vědět, jestli je potřeba více struktury xml.

Přijatá odpověď:

Vzhledem k tomu, že vstupní data (váš soubor XML) jsou strukturovaná, je lepší použít dotaz na tato strukturovaná data, než s nimi zacházet jako s prostým textem a pohrávat si s regulárními výrazy.

Můžeme použít xmllint --xpath k vyhodnocení výrazu XPath na vašem vstupu xml:

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

– je to trochu zamotané, protože se musíme vypořádat s různými jmennými prostory v tomto souboru, ale přesto to funguje.

Další informace o XPath najdete ve specifikaci na http://www.w3.org/TR/xpath/


Ubuntu
  1. Jak vytvořit soubor .img z .iso na Ubuntu?

  2. Jak nainstalovat Ubuntu ze souboru Iso?

  3. Jak tisknout z Vim do Pdf?

  1. Jak číst proměnnou ze souboru?

  2. Jak extrahuji jeden kus bajtů ze souboru?

  3. Jak RSYNC jeden soubor?

  1. Jak změnit oprávnění pro jeden soubor?

  2. Jak vytvořit soubor .click z nainstalované aplikace?

  3. Jak extrahovat soubor filename.tar.gz