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.