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 ทำให้ปวดหัว, แต่ทรงพลัง

ดูเพิ่มเติม