Fish Shell:
עבודה עם XML

איך ל:

Fish אינו כולל פרסור XML מובנה, לכן תצטרך להסתמך על כלים חיצוניים כמו xmllint או xmlstarlet. הנה קטע קוד לקריאת ערכים:

# ניתוח XML באמצעות xmlstarlet
echo '<root><element>שלום עולם</element></root>' | xmlstarlet sel -t -v "/root/element"

פלט:

שלום עולם

לעריכת XML, השתמשו בזה:

# עריכת אלמנט XML באמצעות xmlstarlet
echo '<root><element>ערך ישן</element></root>' | xmlstarlet ed -u "/root/element" -v 'ערך חדש'

פלט:

<?xml version="1.0"?>
<root>
  <element>ערך חדש</element>
</root>

חקירה עמוקה:

XML קיים מאז שנות ה-90 המאוחרות, נוצר לקריאות ולידידות למכונה. על אף ש-JSON גזל חלק מהפופולריות של XML בזכות הפשטות שלו, XML עדיין נמצא בשימוש נרחב שם שוולידציה של מסמכים ו-namespaces הם מפתח.

אלטרנטיבות? בטח - JSON, YAML, או אפילו פורמטים בינאריים כמו Protocol Buffers עבור אותן אפליקציות שדורשות ביצועים גבוהים. אבל הסכמה (schema) של XML ו-XSLT (עבור המרות XML) יכולים להיות שוברי שוויון לסצנריות מורכבות שבהן החוסן משנה.

מאחורי הקלעים, כלים כמו xmlstarlet מעטרים ספריות חזקות כמו libxml2, ונותנים לך XPath ו-XQuery לטפל ב-XML בצורה מדויקת. אלו לא רק כלים ל-XML אלא שערים למניפולציה של DOM, כפי שתיישם מושגים דומים בכל שפה שמגעת ב-XML.

ראו גם: