Bash:
การทำงานกับ XML
วิธีการ:
นี่คือวิธีการแยก XML ใน Bash โดยใช้เครื่องมืออะไร? xmllint และ xmlstarlet การวนซ้ำผ่านองค์ประกอบ XML? แน่นอน เป็นตัวอย่างพร้อมผลลัพธ์:
# สมมติว่าได้ติดตั้ง xmlstarlet แล้ว
# ติดตั้งโดยใช้: apt-get install xmlstarlet
# การแยก XML
cat <<EOF > sample.xml
<fruits>
<fruit name="Apple"/>
<fruit name="Banana"/>
</fruits>
EOF
# สกัดชื่อด้วย xmlstarlet
xmlstarlet sel -t -m "//fruit" -v "@name" -n sample.xml
# ผลลัพธ์ควรจะเป็น:
# Apple
# Banana
ตรวจสอบอย่างละเอียด
ในช่วงปี 1990, XML ได้รับความนิยมเป็นทางเลือกที่ง่ายกว่า SGML แต่มีโครงสร้างมากกว่า HTML ตอนนี้, มันมีคู่แข่ง – เช่น JSON, YAML แต่ XML ยังคงเป็นที่นิยม, โดยเฉพาะในการตั้งค่าและบริการเว็บที่ใช้ SOAP
ในด้านเครื่องมือ, xmllint สะดวกสบายสำหรับการตรวจสอบ XML, คำสั่ง xpath xmlstarlet เป็นมีดสวิสสำหรับเรื่องราว XML – คำถาม, แก้ไข, ตรวจสอบ, แปลง ในสคริปต์ bash, พวกมันเป็นฮีโร่สำหรับงาน XML
ภายใต้ฝา, xmllint ใช้ libxml2 – พาร์เซอร์ XML ภาษา C มันเร็ว, แต่ข้อผิดพลาด? ยากต่อการตีความ และ xmlstarlet? แม่แบบแบบวนซ้ำและการสนับสนุน EXSLT ทำให้ปวดหัว, แต่ทรงพลัง
ดูเพิ่มเติม
- xmlsoft.org: สิ่งของ Libxml2 และ xmllint
- Stack Overflow: ปัญหาและการแก้ไขในโลกจริง
- W3Schools XML Tutorial: พื้นฐานของ XML