Extrahera text från xml label?

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Extrahera text från xml label?

Inlägg av webaake »

Jag har en text i typ xml format;
<openbox_pipe_menu>
<separator label="Kalmar (2012-04-04)" />
<separator label="Aktuell prognos" /><item label="Väder: Klart" /><item label="Temperatur: -5 °C" /><item label="Luftfuktighet: 93 %" /><item label="Vind: N, 2 m/s" />
<separator label="Prognos: ons" /><item label="Väder: Mestadels soligt" /><item label="Lägsta temperatur: -2 °C" /><item label="Högsta temperatur: 8 °C" />
<separator label="Prognos: tors" /><item label="Väder: Klart" /><item label="Lägsta temperatur: -1 °C" /><item label="Högsta temperatur: 9 °C" />
<separator label="Prognos: fre" /><item label="Väder: Molnigt" /><item label="Lägsta temperatur: -2 °C" /><item label="Högsta temperatur: 10 °C" />
<separator label="Prognos: lör" /><item label="Väder: Risk för snö" /><item label="Lägsta temperatur: -2 °C" /><item label="Högsta temperatur: 5 °C" />
</openbox_pipe_menu>
Jag skulle vilja ha ut all text inom label=" ".
Jag har testat flera olika sed kommandon och även installerat xmlstarlet och testat, men inte lyckats.
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Extrahera text från xml label?

Inlägg av mcNisse »

använd xsltproc och skapa dig ett stylesheet. XSLT är det enklaste och mest rubusta för att hantere xml.

Har dock inte tid att hjälpa mer än så här, tyvär...
andol
Inlägg: 3093
Blev medlem: 31 dec 2007, 00:19
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur

Re: Extrahera text från xml label?

Inlägg av andol »

Japp, XML ska parsas som XML. Visst kan man ibland få ut något användbart med hjälp utav ett reguljärt uttryck, men förr eller senare så råkar man ut för en ommöblerade radbrytningar eller så, och då går ens sed sönder.

För egen del skulle jag snegla mot lämpligt XML-bibliotek till PHP/Perl/Python/Ruby.
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Extrahera text från xml label?

Inlägg av webaake »

Ingen som testat xmlstarlet?

Skall kolla perl o. python verktyg, så får vi se.

Tack - Glad Påsk!
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Extrahera text från xml label?

Inlägg av webaake »

LÖST! Fast inte med xml parsing. Det ursprungliga probelmet var att jag inte kunde kalla på ett openbox kommando från en lxpanel launcher. Kommandot är Alt+F2 och kallar på ett väderscript (getweather.py, finns i många versioner) och som visar resultat i ett eget fönster baserat på xml koden ovan. Men det var lögn i h-vete att köra detta från en lxpanel launcher, fast det gick bra från lxpanels programmeny från en .desktop fil (?). Men jag ville ha en launcher, ju!

xdotool funkar fint från andra paneler som tint2 och fbpanel, men inte från lxpanel. Fast jag märkte att 'xdotool key super+ŕ' funkade fint direkt från en launcher så jag snickrade ihop detta;

Kod: Markera allt

#!/bin/bash
#Script for lxpanel which calls vader.py, which calls getweather.py
xdotool key super+r ;
xdotool sleep 0.1 ;
xdotool type python ;
xdotool key space ;
xdotool type /home/mrmedia/bin/vader.py ;
xdotool sleep 0.2 ;
xdotool key Return
exit 0
Så det blev alltså ett script, som kallar på ett annat script, som kallar på ytterligare ett annat script!

Men nu kan jag iallafall klicka på en sol direkt i lxpanel och få en prognos för mitt område i celsius och m/s! Dessutom har jag lärt mig xdotool!
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Extrahera text från xml label?

Inlägg av Konservburk »

webaake skrev:Ingen som testat xmlstarlet?
Jodå, det har jag gjort. Inte för att jag minns syntaxen så här på rak arm, mer än att den inte var helt självklar.
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: Extrahera text från xml label?

Inlägg av David Andersson »

1) Vad händer om du ersätter allt detta

Kod: Markera allt

#!/bin/bash
#Script for lxpanel which calls vader.py, which calls getweather.py
xdotool key super+r ;
xdotool sleep 0.1 ;
xdotool type python ;
xdotool key space ;
xdotool type /home/mrmedia/bin/vader.py ;
xdotool sleep 0.2 ;
xdotool key Return
exit 0
med bara detta

Kod: Markera allt

#!/bin/bash
/home/mrmedia/bin/vader.py
eller om vader.py inte är exekverbar med bara detta

Kod: Markera allt

#!/bin/bash
python /home/mrmedia/bin/vader.py
2) Vi har inte sett din lösning för XML parsning. Vad innehåller vader.py resp getweather.py ? (Du behöver inte svara om det är hemligt eller ointressant.)
ycc
Inlägg: 1818
Blev medlem: 10 feb 2007, 04:08
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Kontakt:

Re: Extrahera text från xml label?

Inlägg av ycc »

Ursäkta om jag är OT, jag kommer bara ihåg att simpleXML funkade bra i PHP. Fordrade PHP5 vill jag minnas.
Ubuntu/Linux - Grunder: En introduktion till Ubuntu och Linux
Ubuntu/Linux - Basics: An introduction to Ubuntu and Linux (experimental, automated translation)
Skriv svar

Återgå till "Terminalforum"