ไลบรารีตัวแยกวิเคราะห์ XML ที่รวดเร็วในC
Expat XML Parser คือ สตรีมเชิง parser XML ที่เขียนในภาษา C ยูทิลิตี้ ซอฟต์แวร์เป็น ตัวแยกวิเคราะห์ XML แบบโอเพนซอร์ส ตัวแรกที่มี พบสถานที่ในซอฟต์แวร์โอเพนซอร์สต่างๆ เช่น เซิร์ฟเวอร์ Apache HTTP, Mozilla, PHP และ Python ชาวต่างชาติ เก่งด้วยไฟล์ที่มีขนาดใหญ่เกินไปที่จะใส่ RAM ได้ และประสิทธิภาพและความยืดหยุ่นเป็นสิ่งสำคัญ เป็นโปรแกรมฟรีที่คุณสามารถคัดลอก แจกจ่าย และแก้ไขได้ภายใต้ลิขสิทธิ์ MIT/X Consortium
Expat XML Parser คืออะไร
ตามที่ระบุไว้ Expat เป็นตัวแยกวิเคราะห์แบบสตรีม ในแอป คุณลงทะเบียนฟังก์ชันเรียกกลับ—หรือตัวจัดการ—กับ parser จากนั้นคุณเริ่มป้อนเอกสาร parser จะจดจำส่วนต่างๆ ของเอกสารและเรียกตัวจัดการที่เหมาะสมสำหรับส่วนนั้น โดยถือว่าคุณได้ลงทะเบียนไว้ เอกสารจะถูกส่งไปยัง parser เป็นชิ้นๆ ดังนั้นคุณจึงสามารถเริ่มแยกวิเคราะห์ก่อนที่คุณจะมีเอกสารทั้งหมด ด้วยวิธีนี้ คุณสามารถแยกวิเคราะห์เอกสารขนาดใหญ่จริงๆ ซึ่งไม่พอดีกับหน่วยความจำ
ผู้ใช้โดยเฉพาะผู้เริ่มต้นจะพบว่าแอปนี้ค่อนข้างน่ากลัว
แข็งแกร่ง> เนื่องจากตัวจัดการและตัวเลือกมากมายที่คุณสามารถตั้งค่าได้ อย่างไรก็ตาม คุณเพียงแค่ต้องเรียนรู้สี่ฟังก์ชันเพื่อทำ 90% ของสิ่งที่คุณจะทำกับมัน คุณสามารถสร้างอ็อบเจ็กต์ parser ใหม่ด้วย XML_ParserCreate และตั้งค่าตัวจัดการสำหรับแท็กเริ่มต้นและแท็กสิ้นสุดโดยใช้ XML_SetElementsHandler ในการตั้งค่าตัวจัดการข้อความ คุณสามารถใช้ XML_SetCharacterDataHandler สุดท้าย XML_Parse ช่วยให้คุณสามารถส่งบัฟเฟอร์ที่เต็มไปด้วยเอกสารไปยัง parser ได้
โดยทั่วไป โปรแกรมจะลงทะเบียนฟังก์ชันตัวจัดการสำหรับองค์ประกอบ XML เพื่อเริ่มหรือหยุดเหตุการณ์และเหตุการณ์ของอักขระ . ชาวต่างชาติมีสิ่งอำนวยความสะดวกสำหรับการจัดการเหตุการณ์ที่ซับซ้อน เหตุการณ์การแยกวิเคราะห์คล้ายกับเหตุการณ์ที่กำหนดไว้ใน Sample API for XML (SAX) อย่างไรก็ตาม Expat ไม่ใช่ตัวแยกวิเคราะห์ที่สอดคล้องกับ SAX โปรเจ็กต์ที่รวมห้องสมุด Expat มักจะสร้าง SAX—และอาจเป็นตัวแยกวิเคราะห์ DOM—บน Expat แต่ในขณะที่แอปนี้เป็นแอปแบบสตรีมเป็นหลัก แต่ก็สนับสนุนการหยุดและเริ่มต้นการแยกวิเคราะห์ใหม่ ตามเวลาที่ต้องการ ด้วยเหตุนี้ การใช้ pull parser จึงค่อนข้างง่าย
ไลบรารี parser ที่มีประโยชน์
ตั้งแต่เปิดตัวสู่ตลาด Expat XMLP Parser เป็นเครื่องมือที่มีประโยชน์ ได้รับการคัดเลือกจากโครงการระดับสูงหลายโครงการ มีประสิทธิภาพสูงและมีประสิทธิภาพมาก นอกจากนี้ยังผ่านการทดสอบอย่างดีและเป็นไปตามมาตรฐาน อาจดูล้นหลามเล็กน้อยเนื่องจากมีตัวจัดการและตัวเลือกมากมาย แต่โดยรวมแล้ว คุณจะไม่พลาดกับแอปนี้