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

ดูเพิ่มเติม: