Fish Shell:
การทำงานกับ XML
วิธีทำ:
Fish ไม่มีการจัดการ XML ในตัว ดังนั้นคุณจำเป็นต้องพึ่งพาเครื่องมือภายนอก เช่น xmllint
หรือ xmlstarlet
นี่คือตัวอย่างสำหรับการอ่านค่า:
# วิเคราะห์ XML โดยใช้ xmlstarlet
echo '<root><element>Hello World</element></root>' | xmlstarlet sel -t -v "/root/element"
ผลลัพธ์:
Hello World
เพื่อแก้ไข XML, ใช้ตัวอย่างนี้:
# แก้ไข XML element โดยใช้ xmlstarlet
echo '<root><element>Old Value</element></root>' | xmlstarlet ed -u "/root/element" -v 'New Value'
ผลลัพธ์:
<?xml version="1.0"?>
<root>
<element>New Value</element>
</root>
ลงลึก:
XML มีมาตั้งแต่ปลายยุค 90s, ถูกสร้างมาเพื่อความอ่านง่ายและความเป็นมิตรกับเครื่องจักร ขณะที่ JSON ได้ชิงความนิยมบางส่วนของ XML ไปเนื่องจากความเรียบง่าย XML ยังคงตั้งอยู่ในที่ที่การตรวจสอบเอกสารและเนมสเปซเป็นกุญแจสำคัญ
มีทางเลือกอื่นไหม? แน่นอน—JSON, YAML, หรือแม้แต่รูปแบบไบนารีเช่น Protocol Buffers สำหรับแอพที่ต้องการประสิทธิภาพสูง แต่สคีม่าของ XML และ XSLT (สำหรับการแปลง XML) อาจเป็นปัจจัยสำคัญสำหรับสถานการณ์ที่ซับซ้อนที่ความเข้มแข็งมีความสำคัญ
ใต้ฝาครอบ, เครื่องมือเช่น xmlstarlet
ใช้ไลบรารี่ทรงพลังเช่น libxml2, ให้คุณใช้ XPath และ XQuery สำหรับการปรับแต่ง XML อย่างละเอียด นี่ไม่ใช่แค่เครื่องมือ XML แต่ยังเป็นประตูสู่การจัดการ DOM, เมื่อคุณนำแนวคิดที่คล้ายกันไปใช้ในภาษาใด ๆ ที่มีการสัมผัส XML