Elixir:
การทำงานกับ XML

วิธีการ:

Elixir ไม่ได้รวมการวิเคราะห์ XML ไว้ในไลบรารีมาตรฐาน การเลือกใช้ SweetXML เป็นทางเลือกที่นิยม นี่คือวิธีการใช้งาน:

# เพิ่ม SweetXML ลงใน dependencies ใน mix.exs
{:sweet_xml, "~> 0.6"}

# ในโค้ดของคุณ
import SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
"""

# วิเคราะห์ XML
note = xml |> xpath(~x"//note")
to = xml |> xpath(~x"//note/to" |> inner_text())
IO.puts to # ผลลัพธ์: Tove

การศึกษาลึก

XML, หรือภาษามาร์กอัพที่ขยายได้, มีมาตั้งแต่ปลายยุค 90 มันเป็นทั้งคำพูดมากมายแต่มีโครงสร้าง—เหมาะสำหรับการแลกเปลี่ยนข้อมูลที่ซับซ้อน ขณะที่ความนิยมของ JSON เพิ่มสูงขึ้นเนื่องจากความง่าย, XML ยังคงเป็นที่มั่นในระบบองค์กรและระบบทางการเงินหลายระบบเนื่องจากความสามารถในการแสดงออกและ schemas มาตรฐาน

ทางเลือกอื่น ๆ ได้แก่:

  • JSON สำหรับการแลกเปลี่ยนข้อมูลที่เบาและมีคำพูดน้อย
  • Protobuf หรือ Thrift สำหรับการสื่อสารข้อมูลที่ถูกซีเรียลไลซ์เป็นไบนารี โดยเฉพาะสำหรับระบบภายใน

ภายใต้ฝาปิด, ไลบรารี XML สำหรับ Elixir ใช้ไลบรารี :xmerl ของ Erlang สำหรับการวิเคราะห์ ซึ่งให้การสนับสนุนที่แข็งแกร่งแต่อาจจะมีความเข้าใจน้อยกว่าวิธีการทันสมัยมากขึ้น ในขณะที่ Elixir พัฒนาขึ้น, ไลบรารีที่ขับเคลื่อนด้วยชุมชนเช่น SweetXML หุ้มเส้นใยเหล่านี้ด้วยไวยากรณ์ที่ใกล้เคียงกับ Elixir มากขึ้น, ทำให้การจัดการ XML ง่ายขึ้น

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