DOM4J เป็น Java XML API คล้ายกับ JDOM ที่ใช้อ่านและเขียนไฟล์ XML DOM4J เป็น Java XML API ที่ยอดเยี่ยมมากพร้อมประสิทธิภาพที่ยอดเยี่ยมฟังก์ชั่นที่ทรงพลังและใช้งานง่ายมาก นอกจากนี้ยังเป็นซอฟต์แวร์โอเพ่นซอร์ส ตอนนี้ซอฟต์แวร์ Java มากขึ้นเรื่อย ๆ กำลังใช้ DOM4J เพื่ออ่านและเขียน XML โดยเฉพาะอย่างยิ่งคุ้มค่าที่จะกล่าวถึงว่าแม้แต่ Jaxm ของ Sun ก็ใช้ DOM4J นี่คือแพ็คเกจ Jar ที่ต้องใช้
ข้างต้นกล่าวว่า DOM4J นั้นยอดเยี่ยมและใช้งานง่าย ตั้งแต่วันนี้เป็นต้นไปฉันจะแบ่งปันการใช้งานของ DOM4J กับคุณ
อินเทอร์เฟซหลักของ DOM4J ถูกกำหนดไว้ในแพ็คเกจ org.dom4j:
เพื่อทำความเข้าใจชุดอินเทอร์เฟซนี้คีย์คือการเข้าใจความสัมพันธ์ในการสืบทอดของอินเทอร์เฟซ:
การอ่านและการเขียนเอกสาร XML ส่วนใหญ่ขึ้นอยู่กับแพ็คเกจ org.dom4j.io ซึ่งมีสองวิธีที่แตกต่างกันของ Domreader และ SaxReader แต่วิธีการโทรเหมือนกัน นี่คือประโยชน์ของการพึ่งพาอินเทอร์เฟซ
// อ่าน XML จากไฟล์ป้อนชื่อไฟล์และส่งคืนเอกสารการอ่านเอกสารสาธารณะ XML (ชื่อไฟล์สตริง) พ่น Malformedurlexception, DocumentException {SaxReader Reader = new SaxReader (); เอกสารเอกสาร = reader.read (ไฟล์ใหม่ (ชื่อไฟล์)); ส่งคืนเอกสาร; - วิธีการอ่านของผู้อ่านมีการโอเวอร์โหลดและสามารถอ่านผ่านพารามิเตอร์ที่แตกต่างกันเช่นอินพุตสตรีมไฟล์ url ฯลฯ วัตถุเอกสารผลลัพธ์แสดงรายการ XML ทั้งหมด
จากประสบการณ์ของฉันเองการเข้ารหัสตัวละครจะถูกแปลงตามการเข้ารหัสที่กำหนดไว้ในส่วนหัวไฟล์ XML หากคุณพบปัญหารหัสที่อ่านไม่ออกให้ระมัดระวังในการเก็บชื่อการเข้ารหัสในสถานที่ต่าง ๆ ที่สอดคล้องกัน
ตัวอย่างต่อไปนี้คือคลาส SaxReader อ่านไฟล์ XML ผ่าน InputStream:
ไฟล์ XML ที่จะอ่าน:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <config> <db-info> <driver-name> oracle.jdbc.driver.oracledriver </driver-name> <url> jdbc: oracle: @localhost: 1522: mydb </url> </db-info> </config>
คลาสที่อ่านไฟล์ XML:
แพ็คเกจ com.util; นำเข้า Java.io.InputStream; นำเข้า java.util.hashmap; นำเข้า java.util.list; นำเข้า java.util.map; นำเข้า org.dom4j.document; นำเข้า org.dom4j.documentException; นำเข้า org.dom4j.element; นำเข้า org.dom4j.io.saxReader; / ** * แยกวิเคราะห์ sys-config.xml ไฟล์ * @author ronaldinho * */ คลาสสาธารณะ xmlconfigreader {// lazy ส่วนตัวคงที่ xmlconfigreader อินสแตนซ์ = null; // บันทึกข้อมูลที่เกี่ยวข้อง JDBC ส่วนตัว JDBCCONFIG JDBCCONFIG = ใหม่ JDBCCONFIG (); ส่วนตัว xmlconfigreader () {// สร้าง saxreader object saxreader reader = new SaxReader (); // ใช้คลาสโหลดเดอร์ของเธรดปัจจุบันเพื่อให้ได้พา ธ สัมพัทธ์ของไฟล์และอ่านอินพุตสตรีมอินพุตบัฟเฟอร์ใน = tread.currentthread (). getContextClassLoader (). getResourceasstream ("sys-config.xml"); ลอง {// อ่านเอกสารไฟล์ XML ผ่านสตรีม doc = reader.read (in); // อ่าน jdbc ที่เกี่ยวข้องกับข้อมูล rivernameelt = (องค์ประกอบ) doc.selectobject ("/config/db-info/driver-name"); องค์ประกอบ urlelt = (องค์ประกอบ) doc.selectObject ("/config/db-info/url"); Element usernameelt = (องค์ประกอบ) doc.selectObject ("/config/db-info/user-name"); Element PasswordElt = (องค์ประกอบ) doc.selectObject ("/config/db-info/รหัสผ่าน"); // ตั้งค่าข้อมูลที่เกี่ยวข้อง JDBC JDBCCONFIG.SetDRIVERNAME (DRIVERNAMEELT.GETSTRINGVALUE ()); jdbcconfig.seturl (urlelt.getStringValue ()); jdbcconfig.setUsername (usernameelt.getStringValue ()); JDBCCONFIG.SetPassword (passwordElt.getStringValue ()); } catch (documentException e) {e.printStackTrace (); }} สาธารณะแบบคงที่ซิงโครไนซ์ XMLConfigReader getInstance () {ถ้า (อินสแตนซ์ == null) {อินสแตนซ์ = ใหม่ xmlConfigReader (); } return อินสแตนซ์; -วิธีการข้างต้นคือการสร้างวัตถุผ่านรูปแบบซิงเกิลตันซึ่งทำให้ SaxReader มีอินสแตนซ์จากนั้นโหลดไฟล์ XML ลงในสตรีม จากนั้นแปลงเป็นวัตถุเอกสารผ่านวิธีการอ่าน () ของ SaxReader จากนั้นใช้วัตถุเอกสารนี้เพื่อรับค่าของโหนดในไฟล์ XML
วันนี้ฉันจะแนะนำการใช้ DOM4J เพื่ออ่านไฟล์ XML สั้น ๆ ฉันจะคุยกับคุณเกี่ยวกับประเพณีอื่น ๆ ในภายหลัง ไม่ต้องกังวลทุกคน
PS: ทุกคนยินดีที่จะวิพากษ์วิจารณ์และแก้ไขฉัน!
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น