Java JDOM Parser - ภาพรวม

JDOM เป็นไลบรารีโอเพนซอร์สที่ใช้ Java เพื่อแยกวิเคราะห์เอกสาร XML โดยทั่วไปเป็น API ที่เป็นมิตรกับนักพัฒนา Java เป็น Java ที่ปรับให้เหมาะสมและใช้คอลเลกชัน Java เช่น List และ Arrays

JDOM ทำงานร่วมกับ DOM และ SAX API และรวมสิ่งที่ดีที่สุดจากทั้งสองอย่างเข้าด้วยกัน มีหน่วยความจำเหลือน้อยและเร็วเกือบเท่า SAX

การตั้งค่าสภาพแวดล้อม

ในการใช้ตัวแยกวิเคราะห์ JDOM คุณควรมี jdom.jar ใน classpath ของแอปพลิเคชันของคุณ ดาวน์โหลดjdom-2.0.5.zip

ควรใช้เมื่อใด

คุณควรใช้ตัวแยกวิเคราะห์ JDOM เมื่อ -

  • คุณจำเป็นต้องรู้มากเกี่ยวกับโครงสร้างของเอกสาร XML

  • คุณต้องย้ายส่วนต่างๆของเอกสาร XMl ไปรอบ ๆ (คุณอาจต้องการจัดเรียงองค์ประกอบบางอย่างเป็นต้น)

  • คุณจำเป็นต้องใช้ข้อมูลในเอกสาร XML มากกว่าหนึ่งครั้ง

  • คุณเป็นนักพัฒนา Java และต้องการใช้ประโยชน์จากการแยกวิเคราะห์ XML ที่ปรับให้เหมาะสมกับ Java

สิ่งที่คุณได้รับ?

เมื่อคุณแยกวิเคราะห์เอกสาร XML ด้วยตัวแยกวิเคราะห์ JDOM คุณจะได้รับความยืดหยุ่นในการเรียกคืนโครงสร้างทรีที่มีองค์ประกอบทั้งหมดในเอกสารของคุณโดยไม่ส่งผลกระทบต่อหน่วยความจำของแอปพลิเคชัน

JDOM มีฟังก์ชันยูทิลิตี้ที่หลากหลายซึ่งคุณสามารถใช้เพื่อตรวจสอบเนื้อหาและโครงสร้างของเอกสาร XML ในกรณีที่เอกสารมีโครงสร้างที่ดีและทราบโครงสร้าง

ข้อดี

JDOM ช่วยให้นักพัฒนา Java มีความยืดหยุ่นและบำรุงรักษาง่ายของโค้ดแยกวิเคราะห์ XML เป็น API ที่มีน้ำหนักเบาและรวดเร็ว

คลาส JDOM

JDOM กำหนดคลาส Java ต่างๆ นี่คือชั้นเรียนที่พบบ่อยที่สุด -

  • Document- แสดงถึงเอกสาร XML ทั้งหมด วัตถุเอกสารมักเรียกว่าโครงสร้าง DOM

  • Element- แสดงถึงองค์ประกอบ XML ออบเจ็กต์องค์ประกอบมีวิธีการจัดการกับองค์ประกอบลูกข้อความแอตทริบิวต์และเนมสเปซ

  • Attribute- แสดงถึงคุณลักษณะขององค์ประกอบ แอตทริบิวต์มีวิธีการรับและตั้งค่าของแอตทริบิวต์ มีพาเรนต์และประเภทแอตทริบิวต์

  • Text - แสดงถึงข้อความของแท็ก XML

  • Comment - แสดงความคิดเห็นในเอกสาร XML

วิธีการทั่วไปของ JDOM

เมื่อคุณทำงานกับ JDOM มีหลายวิธีที่คุณจะใช้บ่อยๆ -

  • SAXBuilder.build(xmlSource)() - สร้างเอกสาร JDOM จากแหล่ง xml

  • Document.getRootElement() - รับองค์ประกอบรากของ XML

  • Element.getName() - รับชื่อของโหนด XML

  • Element.getChildren() - รับโหนดลูกโดยตรงทั้งหมดขององค์ประกอบ

  • Node.getChildren(Name) - รับโหนดลูกโดยตรงทั้งหมดพร้อมชื่อที่กำหนด

  • Node.getChild(Name) - รับโหนดลูกตัวแรกพร้อมชื่อที่กำหนด