Fish Shell:
Att arbeta med XML

Hur man gör:

Fish har ingen inbyggd XML-tolkning, så du kommer att luta dig mot externa verktyg som xmllint eller xmlstarlet. Här är en kodsnutt för att läsa värden:

# Tolka XML med xmlstarlet
echo '<root><element>Hej Världen</element></root>' | xmlstarlet sel -t -v "/root/element"

Utdata:

Hej Världen

För att redigera XML, använd detta:

# Redigera XML-element med xmlstarlet
echo '<root><element>Gammalt Värde</element></root>' | xmlstarlet ed -u "/root/element" -v 'Nytt Värde'

Utdata:

<?xml version="1.0"?>
<root>
  <element>Nytt Värde</element>
</root>

Djupdykning:

XML har funnits sedan slutet av 90-talet, skapat för läsbarhet och maskinvänlighet. Medan JSON har tagit över en del av XML:s popularitet på grund av enkelheten, är XML fortfarande djupt rotat där dokumentvalidering och namnrymder är nyckeln.

Alternativ? Självklart – JSON, YAML, eller till och med binära format som Protocol Buffers för de prestandaintensiva apparna. Men XML:s schema och XSLT (för XML-transformationer) kan vara deal-breakers för komplexa scenarier där robusthet är viktigt.

Under huven använder verktyg som xmlstarlet kraftfulla bibliotek som libxml2, som ger dig XPath och XQuery för finjusterad XML-justering. Dessa är inte bara XML-verktyg utan portar till DOM-manipulation, eftersom du skulle tillämpa liknande koncept i vilket språk som helst som rör vid XML.

Se också: