Bacaan terkait:
Gunakan AJAX untuk mengunggah file dan parameter lainnya (pengembangan Java)
1. File XML:
Apa itu XML? XML umumnya mengacu pada bahasa markup yang dapat diperluas, subset bahasa markup umum standar, dan merupakan bahasa markup yang digunakan untuk menandai file elektronik untuk membuatnya struktural.
2. Keuntungan file XML:
1) Konten dan struktur dokumen XML sepenuhnya dipisahkan.
2) Interoperabilitas yang kuat.
3) Standarisasi dan menyatukan.
4) Mendukung beberapa penyandian.
5) Skalabilitas yang kuat.
3. Cara Mengurai Dokumen XML:
XML parsing dokumen XML dalam berbagai bahasa adalah sama, tetapi sintaks implementasinya berbeda. Ada dua metode parsing dasar. Salah satunya adalah metode SAX, yang parsing langkah demi langkah dalam urutan file XML. Metode analitik lain adalah metode DOM, dan kunci metode DOM adalah simpul. Ada juga DOM4J, JDOM dan metode lainnya. Artikel ini memperkenalkan metode DOM dan DOM4J dan metode merangkumnya ke dalam kelas alat untuk membaca dokumen XML.
4.xml Dokumentasi:
SCORES.XML:
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Siswa Doctype [<! Element Siswa (Siswa+)> <! Elemen Siswa (Nama, Kursus, Skor)> <! Daftar Siswa ID Siswa CDATA #REQUIRE> <! NAMA UNDUS (#PCDATA)> <! Element ID (#pcdata) <! <name> zhang san </name> <side> javase </side> <score> 100 </sore> </spushent> <student id = "22"> <name> Li si </name> <side> oracle </side> <sore> 98 </sore> </sisisent> </surta>
5.Dom Parsing XML
public static void main (string [] args) melempar parserconfigurationException, saxexception, ioException {// 1. Buat Dom Parser Factory DocumentBuilderFactory dbf = DocumentBuilderFactory.NewInstance (); // 2. Buat Dom Parser dari Dom Parser Factory DocumentBuilder db = dbf.newdocumentBuilder (); // 3. Parse dokumen dari dom parser untuk menghasilkan dokumen DOM Tree Doc = db.parse ("SCORES.XML"); // 4. Parses pohon DOM dan memperoleh konten dokumen (teks atribut elemen) //4.1 Dapatkan skor elemen root nodelist scoreslist = doc.getchildnodes (); Node scoresnode = scoreslist.item (1); System.out.println (ScoresList.GetLength ()); //4.2 Dapatkan semua elemen anak dalam skor siswa Nodelist StudentList = scoresnode.getChildnodes (); System.out.println (StudentList.GetLength ()); //4.3 Proses setiap siswa untuk (int i = 0; i <studentlist.getLength (); i ++) {node stunode = studentlist.item (i); //System.out.println (stunode.getNodetype ()); // ID atribut dari elemen output if (stunode.getNodetype () == node.element_node) {element elem = (elemen) stunode; String id = elem.getAttribute ("id"); System.out.println ("id ------>"+id); } // Elemen anak dari elemen output nama kursus nodelist ncslist = stunode.getchildnodes (); //System.out.println (ncslist.getLength ()); untuk (int j = 0; j <ncslist.getLength (); j ++) {node ncs = ncslist.item (j); if (ncs.getnodetype () == node.element_node) {string name = ncs.getnodename (); // value string = ncs.getFirstChild (). GetNodevalue (); // Teks adalah anak dari suatu elemen, jadi Anda perlu mendapatkan nilai string string = ncs.gettextContent (); System.out.println (name+"----->"+value); }} System.out.println (); }}6. metode dom4j parsing dokumen xml:
public static void main (string [] args) melempar DocumentException {// Gunakan dom4j untuk parse skor2.xml, menghasilkan DOM Tree Saxreader Reader = baru saxreader (); Dokumen doc = reader.read (file baru ("score.xml")); // Dapatkan Node Root: Siswa Elemen Root = Doc.GetRootElement (); // Dapatkan semua node anak dari siswa: Siswa iterator <sement> it = root.elementiterator (); // latih setiap siswa while (it.hasnext ()) {// Dapatkan setiap elemen siswa Ssuelem = it.next (); //System.out.println(suelem); // output atribut siswa: Daftar ID <Tribute> attrlist = Stuelem.attributes (); untuk (attribute attr: attrlist) {string name = attr.getName (); Nilai string = attr.getValue (); System.out.println (name+"----->"+value); } // output elemen anak siswa: nama, kursus, skor iterator <sement> it2 = stuelem.elementiterator (); while (it2.hasnext ()) {element elem = it2.next (); Name string = elem.getName (); String text = elem.getText (); System.out.println (Name+"----->"+Teks); } System.out.println (); }}Tentu saja, tidak peduli ke arah mana kita mengurai XML, kita perlu mengimpor paket JAR (jangan lupa).
7. caraku sendiri:
Dalam proyek pengembangan yang sebenarnya, kita harus pandai menggunakan kelas alat dan merangkum fungsi yang kita gunakan berulang kali ke dalam kelas alat. Oleh karena itu, metode berikut adalah cara saya menggunakannya selama proses pengembangan.
7.1 Apa itu file properti:
7.1.1 secara struktural:
File .xml terutama adalah file pohon.
File .properties terutama ada dalam bentuk pasangan nilai kunci nilai kunci.
7.1.2 Dari perspektif yang fleksibel:
file .xml lebih fleksibel daripada file .properties.
7.1.3 Dari sudut pandang yang nyaman:
File .properties lebih mudah dikonfigurasi daripada file .xml.
7.1.4 Dari perspektif aplikasi:
File .properties lebih cocok untuk proyek kecil dan sederhana karena .xml lebih fleksibel.
7.2 Dokumentasi Properti Anda Sendiri:
Saya membuat file Path.Properties dalam proyek saya sendiri, yang digunakan untuk menyimpan jalur yang akan saya gunakan, dan disimpan dalam bentuk nama = nilai. Misalnya:
realpath = d:/file/
7.3 Parses Anda sendiri. Properties File:
Public Class PropertiesUtil {Private Static PropertiesUtil Manager = null; Private Static Object ManagerLock = objek baru (); Private Object PropertiesLock = Objek baru (); Private Static String database_config_file = "/path.properties"; Properti Pribadi Properties = NULL; Public Static PropertiesUtil getInstance () {if (manajer == null) {disinkronkan (ManagerLock) {if (Manager == null) {Manager = new PropertiesUtil (); }}} Return Manager; } private propertiesutil () {} public static string getProperty (name string) {return getInstance () ._ getProperty (name); } private string _getProperty (nama string) {initproperty (); String properti = properties.getProperty (name); if (properti == null) {return ""; } else {return property.trim (); }} Public Static Enumeration <?> Properties () {return getInstance () ._ PropertiDynames (); } enumerasi pribadi <?> _propertynames () {initproperty (); return properties.propertynames (); } private void initproperty () {if (properties == null) {disinkronkan (propertieslock) {if (properties == null) {loadProperties (); }}}} private void loadProperties () {properties = new properties (); Inputstream in = null; coba {in = getClass (). getResourCeAsstream (database_config_file); properties.load (dalam); } catch (Exception e) {System.err .println ("Kesalahan Membaca Properti Conf di PropertiesUtil.LoadProps ()" + e); e.printstacktrace (); } akhirnya {coba {in.close (); } catch (Exception e) {}}} / ** * Berikan jalur file konfigurasi * * @param filepath * @return * / properti publik LoadProperties (string filePath) {properties properties = new properties (); Inputstream in = null; coba {in = getClass (). getResourCeasStream (filepath); properties.load (dalam); } catch (Exception e) {System.err .println ("Kesalahan membaca properti di propertiesutil.loadProperties ()" + e); e.printstacktrace (); } akhirnya {coba {in.close (); } catch (Exception e) {}} mengembalikan properti; }} Sebelum kita menggunakannya, kita hanya perlu melampirkan nilai ke properti DATABASE_CONFIG_FILE , yang merupakan nama file .properties kami. Saat menggunakannya, kita dapat secara langsung menggunakan nama kelas. getProperty(“realPath”); Untuk mendapatkan konten dengan kunci dalam file .properties yaitu RealPath.
Di atas adalah metode membaca XML dan file konfigurasi properti dalam pengembangan Java yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu!