Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » XML-Datei auslesen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.05.2004, 12:37 Uhr
~Minotarusu79
Gast


Hallo an alle,
Ich möchte in einem Script dynamisch bestimmte sachen im betrieb auslesen.

Die notwendigen Parameter liegen in in einer XML-Datei vor .


Code:
<caption>Konqueror</caption>
<...>xyz</...>


Wie kriegt man es hin nur die Parameter zwischen den Tags auszulesen?!?
Mit grep isoliere ich die Zeile, aber ich kriege die Tags <caption> nur das hier</caption> nicht weg.
mit awk kann ich habe ich überlegt aber:
zusätzlich kommt noch das es ist nicht bekannt ist wie lang der text ist, oder wieviele wörter es sind zwischen den Tags.

Hat jemand schon ähliches gelöst, oder irgendwo gesehen?

Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.05.2004, 13:49 Uhr
virtual
Sexiest Bit alive
(Operator)


Meinst Du sowas in der Art:

Code:
# $1 == Name der XML datei
# $2 == Name des tags
grep \<$2\> $1 | sed -e "s/^\s*<$2>//" -e "s/<\/$2>\s*$//"


Wenn du das als ein Script namens parsexml speicherst, eine Datei der Form

Code:
<caption>foo bar</caption>
<baption>goo car</bapion>
...


hast, dann würde

Code:
~# parsexml datei caption


ergeben

Code:
foo bar


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.05.2004, 14:13 Uhr
~Minotaurus79
Gast


Super Hinweis mit dem sed!

Code:
sed -e "s/^\s*<$2>//" -e "s/<\/$2>\s*$//"


Genau das habe ich gebraucht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.06.2004, 10:10 Uhr
~Minotaurus
Gast


Hallo,
ich habe da noch ein Problem:
Der Inhalt der zwischen den Tags steht ist teilweise ausführbares für die Shell.
Jetzt lese ich in einem Script zur Laufzeit den Inhalt der Datei....
Mit welchem Befehl kann ich das ausgelesene ausführen?!?

Beispiel:
Datei:
<dateiinhalt>echo $USER</dateiinhalt>

Script:
Hier soll dann nicht das "echo $USER" stehen, sondern das soll ausgeführt werden.

Kann einer einen Tip geben?

Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.06.2004, 07:53 Uhr
virtual
Sexiest Bit alive
(Operator)


Mt Backticks:

Code:
` sed ... `


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.06.2004, 14:28 Uhr
0xdeadbeef
Gott
(Operator)



Code:
eval $(sed ...)


...um genau zu sein. $() ist nur ne neuere Schreibweise für ``.

damit geht allerdings die Struktur der XML-Datei verloren - wenn du mit dem Ding irgendwelche komplizierteren Dinge anfangen willst - schau mal die libxml++ an, die ist recht brauchbar.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: