เข้าใจไฟล์ XML อย่างมืออาชีพ: โครงสร้าง, กรณีการใช้งาน และข้อดีหลัก

ไฟล์ XML จัดเก็บข้อมูลที่มีโครงสร้างในรูปแบบของแท็กที่ซ้อนกันและมนุษย์สามารถอ่านเข้าใจได้ง่าย แทนที่จะเป็นแถวและคอลัมน์ Microsoft อธิบายรูปแบบนี้ว่าเป็น "เทคโนโลยีที่ออกแบบมาเพื่อจัดการและแบ่งปันข้อมูลที่มีโครงสร้างในไฟล์ข้อความที่มนุษย์สามารถอ่านได้" คู่มือนี้จะครอบคลุมถึงวิธีการสร้างไฟล์เหล่านี้ แหล่งที่มา วิธีการที่สเปรดชีตจัดการกับไฟล์ประเภทนี้ และวิธีดึงคำตอบออกมาจากไฟล์ดังกล่าว
ไฟล์ XML คืออะไร
มันคือไฟล์ข้อความธรรมดา (plain text) ที่เก็บทั้งข้อมูลและชื่อของสิ่งที่ข้อมูลนั้นอธิบาย การส่งออกข้อมูลแบบคั่นด้วยจุลภาค (CSV) จะให้เพียงค่าต่างๆ และต้องพึ่งพาแถวส่วนหัวเพื่อทำความเข้าใจความหมาย แต่ไฟล์ที่มีแท็กจะเก็บความหมายไว้ในตัวเคียงข้างกับทุกๆ ค่าข้อมูล
การออกแบบดังกล่าวส่งผลลัพธ์ประการหนึ่งที่ควรทำความเข้าใจก่อนสิ่งอื่นใด รูปแบบนี้มีโครงสร้างเป็นลำดับชั้น (hierarchical) ดังนั้นระเบียนข้อมูลหนึ่งจึงสามารถมีระเบียนข้อมูลอื่นๆ ซ้อนอยู่ภายในได้ลึกหลายระดับ ในขณะที่สเปรดชีตมีโครงสร้างแบบแบนราบ (flat) และช่องว่างระหว่างโครงสร้างทั้งสองรูปแบบนี้เองที่เป็นจุดเริ่มต้นของความยุ่งยากส่วนใหญ่ในการใช้งานจริง
ภาพรวม ของ Microsoft ได้สรุปวัตถุประสงค์ไว้ในประโยคเดียวว่า รูปแบบนี้ "ช่วยลดความยุ่งยากในการกำหนด ส่งผ่าน ตรวจสอบความถูกต้อง และตีความข้อมูลระหว่างฐานข้อมูล แอปพลิเคชัน และองค์กรได้อย่างมาก"
โครงสร้างทำงานอย่างไร
องค์ประกอบและการซ้อนกัน
ทุกๆ ค่าจะอยู่ภายในองค์ประกอบ (element) ที่มีชื่อเรียก และองค์ประกอบต่างๆ สามารถมีองค์ประกอบอื่นซ้อนอยู่ภายในได้ เช่น ใบแจ้งหนี้หนึ่งใบอาจประกอบด้วยบล็อกข้อมูลลูกค้า รายการสินค้า และบล็อกยอดรวม ซึ่งแต่ละส่วนก็จะมีข้อมูลย่อยของตัวเอง
การซ้อนกันนี้คือหัวใจสำคัญ มันทำหน้าที่บันทึกความสัมพันธ์ที่ตารางแบบแบนราบสามารถแสดงได้ด้วยการทำซ้ำค่าต่างๆ ในแต่ละแถวเท่านั้น
แท็กที่กำหนดเอง
ชื่อแท็กไม่ได้ถูกกำหนดตายตัวโดยรูปแบบไฟล์ ดังที่ภาพรวมอย่างเป็นทางการระบุไว้ว่า "นักออกแบบแอปพลิเคชันสามารถสร้างแท็ก โครงสร้างข้อมูล และสกีมา (schema) ที่กำหนดเองได้"
นี่คือเหตุผลที่ไฟล์สองไฟล์จากผู้ให้บริการสองรายสามารถอธิบายใบแจ้งหนี้ใบเดียวกันได้โดยแทบไม่มีชื่อฟิลด์ที่เหมือนกันเลย การวิเคราะห์ใดๆ จึงต้องเริ่มต้นด้วยการอ่านเพื่อทำความเข้าใจว่าแท็กที่อยู่ตรงหน้าคุณนั้นหมายถึงอะไรกันแน่
สกีมาและการตรวจสอบความถูกต้อง
ไฟล์สกีมาที่แยกต่างหากจะเป็นตัวกำหนดกฎเกณฑ์ต่างๆ Microsoft ได้อธิบายการจับคู่นี้ไว้โดยตรงว่า ไฟล์ข้อมูล "จะประกอบด้วยแท็กที่กำหนดเองและข้อมูลที่มีโครงสร้าง" ส่วนไฟล์สกีมา "จะประกอบด้วยแท็กสกีมาที่บังคับใช้กฎเกณฑ์ต่างๆ เช่น ประเภทข้อมูลและการตรวจสอบความถูกต้อง"
สกีมาจะใช้นามสกุลไฟล์ .xsd นอกจากนี้ มาตรฐานดังกล่าวยังกำหนดไฟล์การแปลงข้อมูลที่มีนามสกุล .xslt ซึ่งอธิบายไว้ว่าเป็นไฟล์ที่ "ใช้เพื่อนำสไตล์ไปใช้และแปลงข้อมูล XML ให้อยู่ในรูปแบบการนำเสนอที่แตกต่างกัน"
ไฟล์เหล่านี้ใช้ทำอะไร
คุณแทบจะไม่ได้เป็นคนเลือกใช้รูปแบบนี้ด้วยตัวเอง แต่มันมักจะถูกส่งมาจากระบบที่เปิดใช้งานมานานหลายปีแล้ว
- การเงินและการธนาคาร รูปแบบของรายการเดินบัญชี (statement) และข้อความการชำระเงินมักจะใช้รูปแบบแท็กมากกว่าการใช้ตัวคั่น
- การออกใบแจ้งหนี้อิเล็กทรอนิกส์ (E-invoicing) ข้อกำหนดด้านใบแจ้งหนี้อิเล็กทรอนิกส์ของหลายประเทศระบุให้ใช้เอกสารที่มีแท็กเป็นเอกสารที่มีผลทางกฎหมาย
- การส่งออกข้อมูลจากระบบ ERP และ HR ระบบองค์กรที่ใช้งานมานานมักจะส่งออกข้อมูลในรูปแบบนี้เป็นค่าเริ่มต้น
- ฟีดข้อมูลสินค้าและเนื้อหา ฟีดแคตตาล็อกสินค้าค้าปลีกและรูปแบบการเผยแพร่ข้อมูลมักจะใช้โครงสร้างแบบแท็ก
- การกำหนดค่าและเอกสาร Office รูปแบบไฟล์ Office ยุคใหม่คือไฟล์บีบอัด (zip) ที่รวบรวมส่วนประกอบต่างๆ ที่มีแท็กเข้าไว้ด้วยกัน
รูปแบบของทั้งห้ากรณีนี้เหมือนกันทั้งหมด คือไฟล์ประเภทนี้เป็นผลผลิตเพื่อการแลกเปลี่ยนข้อมูลที่สร้างขึ้นสำหรับให้เครื่องคอมพิวเตอร์เครื่องอื่นอ่าน ไม่ใช่ไฟล์งานที่สร้างขึ้นมาเพื่อให้นักวิเคราะห์ใช้งานโดยตรง
เปรียบเทียบกับรูปแบบแบนราบ
| ไฟล์ที่มีแท็ก (.xml) | CSV | Parquet | |
|---|---|---|---|
| รูปทรงข้อมูล | ซ้อนกัน หลายระดับ | แถวและคอลัมน์แบบแบนราบ | แบนราบ เน้นคอลัมน์ |
| ชื่อฟิลด์ | แนบไปพร้อมกับทุกๆ ค่าข้อมูล | มีเฉพาะในแถวส่วนหัวเท่านั้น | จัดเก็บไว้ในเมทาดาตาของไฟล์ |
| การตรวจสอบความถูกต้อง | สามารถใช้ไฟล์สกีมาเพื่อบังคับใช้ประเภทข้อมูลได้ | ไม่มีในตัว | ประเภทข้อมูลจะถูกกำหนดไว้ในสกีมา |
| สามารถอ่านได้ในโปรแกรมแก้ไขข้อความ | ได้ แต่อาจจะดูเยิ่นเย้อ | ได้ | ไม่ได้ |
| ขนาดไฟล์ทั่วไปสำหรับข้อมูลชุดเดียวกัน | ใหญ่ที่สุด | ปานกลาง | เล็กที่สุด |
| แหล่งที่มาทั่วไป | ระบบองค์กรและมาตรฐานการแลกเปลี่ยนข้อมูล | การส่งออกข้อมูลและรายงาน | แพลตฟอร์มข้อมูล |
หากคุณต้องทำงานกับรูปแบบไฟล์เหล่านี้เป็นประจำ บทความอธิบายเพิ่มเติมของเราเกี่ยวกับ ไฟล์ TSV และ ไฟล์ Parquet จะครอบคลุมเนื้อหาในส่วนของรูปแบบแบนราบในตารางข้างต้น
วิธีที่ Excel จัดการกับรูปแบบไฟล์นี้
นี่คือจุดที่นักวิเคราะห์ส่วนใหญ่ได้พบเจอกับรูปแบบไฟล์นี้ และเอกสารประกอบอย่างเป็นทางการก็อธิบายถึงสิ่งที่เกิดขึ้นได้อย่างชัดเจนเป็นพิเศษ
เส้นทางการนำเข้าไม่ได้อยู่บนริบบอนหลัก คำแนะนำใน การนำเข้าข้อมูล ของ Microsoft คือ "คลิก Developer > Import" หน้านี้ยังแนะนำผู้อ่านเกี่ยวกับขั้นตอนในการแสดงแท็บดังกล่าว เนื่องจากแท็บนี้จะถูกซ่อนไว้เป็นค่าเริ่มต้น
เวิร์กโฟลว์พื้นฐานมี "ห้าขั้นตอน" ตามคำอธิบายของ Microsoft คุณจะต้องเพิ่มไฟล์สกีมาลงในเวิร์กบุ๊ก จากนั้นจับคู่ (map) องค์ประกอบต่างๆ เข้ากับเซลล์หรือตาราง แล้วจึงนำเข้าไฟล์ข้อมูลและผูกองค์ประกอบเหล่านั้นเข้ากับเซลล์ที่จับคู่ไว้ จากนั้นคุณก็สามารถทำงานใน Excel และส่งออกข้อมูลที่แก้ไขแล้วกลับออกไปได้
มีพฤติกรรมการทำงานสองประการที่สำคัญกว่าส่วนอื่นๆ
Excel จะคาดเดาสกีมาให้หากคุณไม่ได้จัดเตรียมไว้ หากคุณนำเข้าข้อมูลโดยไม่ได้เพิ่มสกีมาก่อน "Excel จะพยายามอนุมานสกีมาให้คุณ" การคาดเดานั้นจะ "อ้างอิงตามแท็กที่กำหนดไว้ในไฟล์ข้อมูล XML"
จากนั้นผลลัพธ์การคาดเดาจะถูกจัดเก็บไว้ในเวิร์กบุ๊ก หน้านี้ยังระบุอีกว่า "คุณไม่สามารถส่งออกสกีมาที่ Excel อนุมานขึ้นมาเป็นไฟล์ข้อมูลสกีมา XML (.xsd) แยกต่างหากได้"
โครงสร้างที่ซ้อนกันจะถูกทำให้แบนราบเมื่อนำเข้าข้อมูล Microsoft อธิบายผลลัพธ์ของการเปิดไฟล์แบบอ่านอย่างเดียว (read-only) ว่า จะได้เป็น "ตารางสองมิติที่มีแถวและคอลัมน์ ซึ่งแสดงแท็ก XML เป็นหัวคอลัมน์" โดยองค์ประกอบราก (root element) จะ "ถูกใช้เป็นเหมือนชื่อเรื่อง"
การทำให้แบนราบนั้นคือสิ่งที่คุณต้องการสำหรับการวิเคราะห์ แต่ก็เป็นจุดที่ทำให้ความหมายสูญหายไปเช่นกัน โครงสร้างลำดับชั้นสามระดับจะกลายมาเป็นคอลัมน์ และความสัมพันธ์ระหว่างองค์ประกอบหลัก (parent) และองค์ประกอบย่อย (child) จะคงเหลืออยู่เพียงแค่ในวิธีการตั้งชื่อแท็กเท่านั้น
ข้อดีที่สำคัญ
ข้อมูลสามารถอธิบายตัวเองได้ ชื่อฟิลด์จะเดินทางไปพร้อมกับค่าข้อมูล ดังนั้นแม้ไฟล์จะถูกแยกออกจากเอกสารประกอบ ก็ยังคงสามารถตีความข้อมูลได้
การตรวจสอบความถูกต้องเป็นส่วนหนึ่งของระบบนิเวศนี้ สกีมาสามารถบังคับใช้ประเภทข้อมูลและฟิลด์ที่จำเป็นต้องมีก่อนที่ข้อมูลจะส่งถึงมือคุณ ซึ่งไม่มีการส่งออกข้อมูลแบบคั่นธรรมดาใดๆ ที่สามารถทำได้
มันสามารถข้ามขอบเขตระหว่างองค์กรได้ ดังที่ภาพรวมอย่างเป็นทางการระบุไว้ รูปแบบนี้ "เป็นไปตามแนวทางมาตรฐานอุตสาหกรรม และสามารถประมวลผลได้โดยฐานข้อมูลและแอปพลิเคชันที่หลากหลาย"
โครงสร้างลำดับชั้นยังคงอยู่ ใบแจ้งหนี้หนึ่งใบที่มีรายการสินค้า 12 รายการ จะยังคงเป็นใบแจ้งหนี้ใบเดียว แทนที่จะกลายเป็น 12 แถวที่ต้องทำซ้ำค่าข้อมูลส่วนหัว
ข้อจำกัดที่ควรทราบ
ความเยิ่นเย้อของข้อมูล การทำซ้ำชื่อแท็กรอบๆ ทุกๆ ค่าข้อมูลทำให้ไฟล์มีขนาดใหญ่เมื่อเทียบกับข้อมูลชุดเดียวกันในรูปแบบแบนราบ
ชื่อแท็กไม่ได้เป็นมาตรฐานเดียวกันในแต่ละผู้ให้บริการ แท็กที่กำหนดเองคือคุณลักษณะเด่นของรูปแบบไฟล์นี้ และสิ่งที่ต้องแลกมาคือข้อมูลจากแต่ละแหล่งใหม่จำเป็นต้องได้รับการตีความเสมอ
สเปรดชีตต้องการโครงสร้างที่แบนราบ ไม่ว่าจะเป็นตาราง Pivot, แผนภูมิ หรือสูตรคำนวณ ต่างก็ต้องการข้อมูลในรูปทรงสี่เหลี่ยมผืนผ้า ดังนั้นรูปทรงของข้อมูลจึงต้องเปลี่ยนไปก่อนที่จะเริ่มการวิเคราะห์
การนำเข้าอาจล้มเหลวในขั้นตอนการตรวจสอบความถูกต้อง Microsoft ระบุว่า "Excel จะแสดงกล่องโต้ตอบ XML Import Error เมื่อไม่สามารถตรวจสอบความถูกต้องของข้อมูลตาม XML Map ได้" ซึ่งจะทำให้คุณต้องกลับไปแก้ไขสกีมาก่อนจึงจะเริ่มใช้งานได้
การหาคำตอบโดยไม่ต้องวุ่นวายกับรูปทรงของข้อมูล
ในทางปฏิบัติ คำถามมักจะไม่ใช่ "ฉันจะเปิดไฟล์นี้อย่างไร" แต่เป็น "ฉันจะสร้างแผนภูมิจากไฟล์นี้ภายในบ่ายวันนี้ได้อย่างไร"
แนวทางที่ได้ผลคือแนวทางที่ Excel ได้บอกใบ้ไว้แล้ว นั่นคือการทำให้โครงสร้างลำดับชั้นแบนราบลงเป็นรูปทรงสี่เหลี่ยมผืนผ้า ตัดสินใจว่าโครงสร้างระดับใดที่จะนับเป็นหนึ่งแถว แล้วจึงเริ่มทำการวิเคราะห์จากจุดนั้น
Powerdrill Bloom รองรับการอัปโหลดไฟล์ Excel, CSV, PDF และเอกสารต่างๆ ดังนั้นไฟล์ต้นทางที่มีแท็กควรได้รับการแปลงเป็น CSV หรือเวิร์กบุ๊กก่อน การเปิดไฟล์แบบอ่านอย่างเดียวของ Excel จะสร้างรูปทรงสี่เหลี่ยมผืนผ้าดังกล่าวขึ้นมาให้ทันที และขั้นตอนการแปลงข้อมูลในเครื่องมือจัดการข้อมูลของคุณก็ให้ผลลัพธ์แบบเดียวกัน
เมื่อข้อมูลแบนราบแล้ว การวิเคราะห์ก็จะเป็นเรื่องธรรมดาทั่วไป หน้า CSV AI assistant ได้อธิบายถึงแนวทางดังกล่าวไว้ หน้าข้อมูลราคาได้สรุปผลลัพธ์ไว้ว่า: ถามคำถามเกี่ยวกับข้อมูลของคุณและ "รับคำตอบที่อ้างอิงจากข้อมูลจริงพร้อมแผนภูมิ ตาราง และการส่งออกข้อมูล" หากคุณต้องการแผนภูมิโดยเฉพาะ คู่มือแนะนำของเราเกี่ยวกับ การเปลี่ยนไฟล์ CSV ให้เป็นแผนภูมิ จะครอบคลุมเนื้อหานี้ตั้งแต่ต้นจนจบ
มีการตัดสินใจหนึ่งประการที่ต้องพิจารณาอย่างรอบคอบก่อนที่คุณจะแปลงข้อมูล นั่นคือการเลือกความละเอียดของแถว (row grain) อย่างตั้งใจ การกำหนดให้หนึ่งแถวต่อหนึ่งรายการสินค้า กับหนึ่งแถวต่อหนึ่งใบแจ้งหนี้ จะตอบคำถามที่แตกต่างกัน
บทสรุป
รูปแบบไฟล์นี้มีความเยิ่นเย้อ สามารถอธิบายตัวเองได้ และมีโครงสร้างเป็นลำดับชั้น ซึ่งคุณสมบัติทั้งสามประการนี้สามารถอธิบายทุกสิ่งเกี่ยวกับการทำงานกับมันได้เป็นอย่างดี มันยอดเยี่ยมมากสำหรับการย้ายข้อมูลระหว่างองค์กร แต่ค่อนข้างใช้งานยากสำหรับการวิเคราะห์ข้อมูลภายในองค์กรเดียวกัน
มองการแปลงข้อมูลให้เป็นเรื่องของการตัดสินใจมากกว่าที่จะเป็นงานน่าเบื่อ เลือกโครงสร้างระดับที่จะกลายมาเป็นแถว และคงชื่อแท็กไว้เป็นหัวคอลัมน์ หลังจากนั้น ขั้นตอนการทำงานก็จะเหมือนกับการวิเคราะห์สเปรดชีตทั่วไป
มีไฟล์ประเภทนี้อยู่ในโฟลเดอร์ของคุณตอนนี้ใช่ไหม? ลองใช้ Powerdrill Bloom กับข้อมูลส่งออกที่ทำให้แบนราบแล้ว และดูแผนภูมิที่ได้ก่อนที่คุณจะลงทุนสร้างไปป์ไลน์ข้อมูล
คำถามที่พบบ่อย
ไฟล์ XML ใช้ทำอะไร?
มันถูกใช้เพื่อเคลื่อนย้ายข้อมูลที่มีโครงสร้างระหว่างระบบและองค์กร แหล่งที่มาทั่วไป ได้แก่ ข้อความของระบบธนาคาร, ใบแจ้งหนี้อิเล็กทรอนิกส์, การส่งออกข้อมูลจากระบบ ERP และ HR, ฟีดข้อมูลสินค้าค้าปลีก และส่วนประกอบภายในของเอกสาร Office
XML กับ CSV แตกต่างกันอย่างไร?
รูปแบบหนึ่งจะมีโครงสร้างเป็นลำดับชั้นและแนบชื่อฟิลด์ไปพร้อมกับทุกๆ ค่าข้อมูล ส่วนอีกรูปแบบหนึ่งจะมีโครงสร้างแบบแบนราบและพึ่งพาแถวส่วนหัวเพียงแถวเดียว นอกจากนี้ รูปแบบที่มีแท็กยังสามารถตรวจสอบความถูกต้องกับไฟล์สกีมาได้ ซึ่งการส่งออกข้อมูลแบบคั่นธรรมดาไม่สามารถทำได้
ฉันจะเปิดไฟล์ XML ใน Excel ได้อย่างไร?
เส้นทางที่ระบุไว้ในเอกสารของ Microsoft คือ Developer > Import ซึ่งแท็บ Developer จะถูกซ่อนไว้เป็นค่าเริ่มต้น นอกจากนี้ คุณยังสามารถเปิดไฟล์แบบอ่านอย่างเดียว ซึ่งจะสร้างตารางสองมิติโดยใช้แท็กเป็นหัวคอลัมน์
ฉันจำเป็นต้องมีไฟล์สกีมาเพื่อใช้งานข้อมูลหรือไม่?
ไม่จำเป็น เอกสารประกอบของ Microsoft ระบุว่า Excel จะพยายามอนุมานสกีมาขึ้นมาจากแท็กเมื่อไม่มีการจัดเตรียมไว้ให้ สกีมาที่อนุมานขึ้นมานี้จะถูกเก็บไว้พร้อมกับเวิร์กบุ๊กและไม่สามารถส่งออกเป็นไฟล์ .xsd แยกต่างหากได้
XSLT คืออะไร?
Microsoft อธิบายว่ามันคือมาตรฐานการแปลงข้อมูลที่ถูกกำหนดขึ้นมาควบคู่กับรูปแบบข้อมูล โดยจะใช้ไฟล์ .xslt เพื่อ "นำสไตล์ไปใช้และแปลงข้อมูล XML ให้อยู่ในรูปแบบการนำเสนอที่แตกต่างกัน"