จัดรูปแบบ XML ให้อ่านง่าย หรือย่อ XML ได้ในคลิกเดียว
XML (eXtensible Markup Language) เป็นภาษา markup ที่ W3C กำหนดมาตรฐานตั้งแต่ปี 1998 แม้ในยุค JSON ครองตลาด API แต่ XML ยังคงเป็นรากฐานของหลาย ecosystem สำคัญ เครื่องมือนี้ช่วยจัด format XML ให้อ่านง่าย (Beautify) หรือบีบอัดให้กระชับ (Minify) พร้อมตรวจสอบความถูกต้องของโครงสร้างเบื้องต้น
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="001" category="fiction">
<title lang="th">สามก๊ก</title>
<author>เจ้าพระยาพระคลัง (หน)</author>
<price currency="THB">320.00</price>
<inStock>true</inStock>
</book>
<book id="002" category="technical">
<title lang="en">Clean Code</title>
<author>Robert C. Martin</author>
<price currency="THB">750.00</price>
<inStock>false</inStock>
</book>
</catalog>
จากตัวอย่างนี้จะเห็นองค์ประกอบหลักของ XML ได้แก่ XML Declaration ที่บรรทัดแรก, Root Element (<catalog>), Child Elements, Attributes (id="001"), และ Text Content ภายใน tag
.xml ใน res/layout/ ของ Android app ทุกไฟล์คือ XML ที่กำหนด UI componentpom.xml ใน Java project ที่ใช้ Maven เป็น project configuration<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<AuthHeader>
<Username>apiuser</Username>
<Token>abc123xyz</Token>
</AuthHeader>
</soap:Header>
<soap:Body>
<GetOrderStatus xmlns="http://api.example.com/orders">
<OrderId>TH20240115001</OrderId>
</GetOrderStatus>
</soap:Body>
</soap:Envelope>
XML แบบนี้พบได้ทั่วไปเมื่อต้องเชื่อมต่อกับ legacy system ของธนาคาร ระบบขนส่ง หรือ ERP ของบริษัทใหญ่ การ format ให้อ่านง่ายก่อน debug ช่วยประหยัดเวลามาก
<name>สมชาย → ต้องมี </name> ปิดเสมอ<item id=1> → ต้องเป็น <item id="1"><Name> กับ <name> คือคนละ tag ใน XML& แทน &, < แทน <, > แทน >//book[@category='fiction']/titlexml.etree.ElementTree หรือ lxml สำหรับ parse XML ขนาดใหญ่DocumentBuilder หรือ JAXB สำหรับ marshal/unmarshal XML กับ ObjectXML (eXtensible Markup Language) คือภาษา markup ที่ออกแบบมาสำหรับเก็บและส่งข้อมูล โดยผู้ใช้กำหนด tag เองได้ ส่วน HTML ใช้ tag ที่กำหนดไว้แล้วสำหรับแสดงผลบนเบราว์เซอร์ XML เข้มงวดกว่า HTML เช่น ทุก tag ต้องปิด, case-sensitive และ attribute ต้องมี quotes รอบค่า ปัจจุบัน XML ใช้กันมากใน SOAP API, configuration files เช่น Maven pom.xml, Android layout และ Microsoft Office format (.docx, .xlsx)
Well-formed XML คือ XML ที่ปฏิบัติตามกฎ syntax พื้นฐาน ได้แก่ มี root element เดียว, ทุก tag ต้องปิด, tag ที่ซ้อนกันต้องปิดในลำดับที่ถูกต้อง, attribute ต้องมี double quotes, และ character พิเศษต้องใช้ entity เช่น & < > XML ที่ไม่ well-formed จะทำให้ XML parser เกิด error และโปรแกรมไม่สามารถอ่านข้อมูลได้ เครื่องมือนี้ตรวจสอบ well-formedness ให้อัตโนมัติ
เลือก JSON เมื่อต้องการ API ที่เบา เร็ว และทำงานกับ JavaScript ง่าย หรือเมื่อ data structure ไม่ซับซ้อน เลือก XML เมื่อต้องการ document ที่มี comment, mixed content (ข้อความและ tag ปนกัน), namespace สำหรับ schema validation เข้มงวด เช่น ระบบ SOAP, EDI, SVG, RSS/Atom feed หรือเมื่อทำงานกับระบบ legacy enterprise ที่กำหนดให้ใช้ XML
Well-formed ตรวจสอบว่า XML ถูก syntax เท่านั้น ส่วน XML Schema Validation ตรวจสอบว่าโครงสร้างและชนิดข้อมูลตรงตาม schema ที่กำหนด เช่น XSD (XML Schema Definition) ระบุว่า element ไหนมีอยู่บ้าง, มี attribute อะไร, ชนิดข้อมูลเป็น string หรือ integer และค่าบังคับหรือไม่ ใช้ในระบบที่ต้องการความแม่นยำสูง เช่น ระบบแลกเปลี่ยนข้อมูลระหว่างธนาคาร หรือระบบสาธารณสุข