Bash:
Å jobbe med XML

Hvordan:

Her er hvordan du parser XML i Bash. Verktøy? xmllint og xmlstarlet. Løkke gjennom XML-elementer? Absolutt. Eksempel med eksempel på utdata:

# Antar at xmlstarlet er installert
# Installer med: apt-get install xmlstarlet

# Parse XML-innhold
cat <<EOF > eksempel.xml
<frukter>
  <frukt navn="Eple"/>
  <frukt navn="Banan"/>
</frukter>
EOF

# Ekstraher navn med xmlstarlet
xmlstarlet sel -t -m "//frukt" -v "@navn" -n eksempel.xml

# Utdata bør være:
# Eple
# Banan

##Dypdykk Tilbake på 90-tallet dukket XML opp som et enklere alternativ til SGML, men mer strukturert enn HTML. Nå har det selskap – JSON og YAML, for eksempel. Men XML holder fortsatt koken, spesielt i konfigurasjoner og SOAP-baserte webtjenester.

Når det gjelder verktøy, er xmllint behagelig for XML-validering og xpath-spørringer. xmlstarlet er den sveitsiske armékniven for XML-kunster – spørre, redigere, validere, transformere. I bash-skript er de superhelter for XML-oppgaver.

Under hetten bruker xmllint libxml2 – XML C-parseren. Det er raskt, men feilmeldingene? Kryptiske. Og xmlstarlet? Rekursive maler og EXSLT-støtte. Tankebøy, men kraftig.

Se Også