GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie extrahiere ich ein einzelnes Attribut aus einer XML-Datei?

Ich bin mit Regex, Sed usw. nicht wirklich vertraut und ein bisschen faul, es jetzt herauszufinden, also wie extrahiere ich diese Zeile:

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

Lassen Sie mich wissen, wenn mehr von der XML-Struktur benötigt wird.

Akzeptierte Antwort:

Da die Eingabedaten (Ihre XML-Datei) strukturiert sind, sollten Sie besser eine Abfrage für diese strukturierten Daten verwenden, anstatt sie als einfachen Text zu behandeln und mit regulären Ausdrücken herumzuspielen.

Wir können xmllint --xpath verwenden So werten Sie einen XPath-Ausdruck für Ihre XML-Eingabe aus:

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

– das ist ein wenig kompliziert, da wir uns mit den verschiedenen Namespaces in dieser Datei befassen müssen, aber es funktioniert trotzdem.

Weitere Informationen zu XPath finden Sie in der Spezifikation unter http://www.w3.org/TR/xpath/


Ubuntu
  1. Wie liest man eine Variable aus einer Datei?

  2. Wie erstelle ich eine .img-Datei aus .iso auf Ubuntu?

  3. Wie ändere ich die Berechtigung für eine einzelne Datei?

  4. Wie erstelle ich eine .click-Datei aus einer installierten App?

  5. Wie kann ich eine einzelne Datei RSYNC?

So extrahieren (entpacken) Sie die Tar Gz-Datei

So extrahieren (entpacken) Sie die tar.xz-Datei

So zeigen Sie Daten aus einer Textdatei in Linux an

So extrahieren Sie E-Mail-Adressen aus einer Textdatei unter Linux

Wie greife ich von Ubuntu auf Windows-Dateien zu?

So extrahieren Sie eine RAR-Datei unter Ubuntu