Rumah> Java> javaTutorial> teks badan

Bagaimana untuk menghuraikan dan menjana dokumen XML menggunakan perpustakaan parsing XML dalam Java?

王林
Lepaskan: 2023-08-02 16:09:33
asal
885 orang telah melayarinya

Bagaimana untuk menghuraikan dan menjana dokumen XML menggunakan perpustakaan penghuraian XML dalam Java?

XML (Extensible Markup Language) ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data berstruktur. Dalam pembangunan Java, kita sering menghadapi keperluan untuk menghuraikan dan menjana dokumen XML. Java menyediakan banyak perpustakaan penghuraian XML, seperti DOM, SAX dan JDOM, dll. Perpustakaan ini boleh membantu kami memproses dokumen XML dengan mudah.

Artikel ini akan memperkenalkan cara menggunakan pustaka penghuraian XML dalam Java untuk menghuraikan dan menjana dokumen XML dan memberikan contoh kod yang sepadan.

1. Parse XML document

  1. DOM parsing

DOM (Document Object Model) adalah kaedah penghuraian berdasarkan struktur pokok Keseluruhan dokumen XML dimuatkan ke dalam memori untuk membentuk struktur pokok Nod pokok untuk membaca dan mengubah suai kandungan XML.

Berikut ialah contoh kod untuk menghuraikan dokumen XML menggunakan DOM:

import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; public class DOMParser { public static void main(String[] args) { try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse("example.xml"); NodeList nodeList = document.getElementsByTagName("student"); for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) node; String id = element.getAttribute("id"); String name = element.getElementsByTagName("name").item(0).getTextContent(); String age = element.getElementsByTagName("age").item(0).getTextContent(); System.out.println("Student ID: " + id); System.out.println("Name: " + name); System.out.println("Age: " + age); } } } catch (Exception e) { e.printStackTrace(); } } }
Salin selepas log masuk
  1. SAX parsing

SAX (Simple API for XML) parsing ialah kaedah penghuraian dipacu peristiwa yang merentasi dokumen XML secara berurutan dan membaca nod Mulakan dan tamatkan acara dan kendalikan acara ini melalui fungsi panggil balik.

Berikut ialah contoh kod menggunakan SAX untuk menghuraikan dokumen XML:

import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXParserExample { public static void main(String[] args) { try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); DefaultHandler handler = new DefaultHandler() { boolean bName = false; boolean bAge = false; public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equalsIgnoreCase("name")) { bName = true; } if (qName.equalsIgnoreCase("age")) { bAge = true; } } public void characters(char[] ch, int start, int length) throws SAXException { if (bName) { System.out.println("Name: " + new String(ch, start, length)); bName = false; } if (bAge) { System.out.println("Age: " + new String(ch, start, length)); bAge = false; } } }; parser.parse("example.xml", handler); } catch (Exception e) { e.printStackTrace(); } } }
Salin selepas log masuk

2 Jana dokumen XML

  1. Gunakan DOM untuk menjana dokumen XML

Berikut ialah contoh kod menggunakan DOM untuk menjana DOM. Dokumen XML:

import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; public class DOMGenerator { public static void main(String[] args) { try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element root = document.createElement("students"); document.appendChild(root); Element student = document.createElement("student"); root.appendChild(student); Element name = document.createElement("name"); name.appendChild(document.createTextNode("John")); student.appendChild(name); Element age = document.createElement("age"); age.appendChild(document.createTextNode("20")); student.appendChild(age); // ... 追加更多的节点和数据 // 保存为XML文件 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new File("example.xml")); transformer.transform(source, result); } catch (Exception e) { e.printStackTrace(); } } }
Salin selepas log masuk
  1. Jana menggunakan Dokumen XML JDOM

Berikut ialah contoh kod untuk menjana dokumen XML menggunakan JDOM:

import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; public class JDOMGenerator { public static void main(String[] args) { try { Element root = new Element("students"); Document document = new Document(root); Element student = new Element("student"); root.addContent(student); Element name = new Element("name"); name.setText("John"); student.addContent(name); Element age = new Element("age"); age.setText("20"); student.addContent(age); // ... 添加更多节点和数据 // 输出为XML字符串 XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); String xmlString = outputter.outputString(document); System.out.println(xmlString); } catch (Exception e) { e.printStackTrace(); } } }
Salin selepas log masuk

Di atas ialah contoh mudah menghurai dan menjana dokumen XML menggunakan perpustakaan penghuraian XML di Jawa. Dalam pembangunan sebenar, kita boleh memilih perpustakaan penghuraian yang sesuai dan kaedah untuk memproses dokumen XML mengikut keperluan khusus untuk mengendalikan dan mengurus data dengan lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk menghuraikan dan menjana dokumen XML menggunakan perpustakaan parsing XML dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!