XML (Genişletilebilir İşaretleme Dili), farklı uygulamalar arasında bir iletişim modu olarak kullanılabilen çok popüler, basit bir metin tabanlı dildir. Veri taşımak ve depolamak için standart bir araç olarak kabul edilir. JAVA mükemmel destek ve XML belgelerini ayrıştırmak, değiştirmek veya sorgulamak için zengin bir kütüphane seti sağlar. Bu eğitimde temel XML kavramları ve çeşitli Java tabanlı XML ayrıştırıcılarının kullanımı basit ve sezgisel bir şekilde öğretilecektir.
Java DOM
DOM yönteminde XML dosyasında yer alan veriler belleğe bilgisayar bilimlerinde yer alan ağaç veri modeline göre yerleştirilir ve erişim sağlanır.
XML dosyasını okumak için DocumentBuilderFactory ve DocumentBuilder soyut sınıfları aşağıdaki gibi kullanılır.
1 2 3 4 | Element kokElement = document.getDocumentElement(); System.out.println(kokElement.getNodeName()); |
DocumentBuilder sınıfında yer alan parse metotları ile dosya kaynağı belirtilerek XML dosyası belleğe yüklenir.
1 2 3 4 | NodeList kisiListesi = kokElement.getElementsByTagName("kisi"); System.out.println("Kişi sayısı: " + kisiListesi.getLength()); |
Metot geri dönüş olarak Document arayüzünü uygulayan bir sınıf döndürür.
1 2 3 4 5 6 7 8 9 10 | for (int i = 0, len = kisiListesi.getLength(); i < len; i++) { Node kisi = kisiListesi.item(i); Element kisiElement = (Element) kisi; String kisiSira = kisiElement.getElementsByTagName("sira").item(0).getTextContent(); String kisiAdi = kisiElement.getElementsByTagName("adi").item(0).getTextContent(); String kisiSoyadi = kisiElement.getElementsByTagName("soyadi").item(0).getTextContent(); System.out.println(kisiSira + " " + kisiAdi + " " + kisiSoyadi); } |
Document arayüzünde yer alan metotlar kullanılarak XML işlemleri yapılır.
Örnek Java XML Okuma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public class JavaXML { public static void main(String[] args) { String xmlDosyasi = "kisiler.xml"; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(xmlDosyasi); Element kokElement = document.getDocumentElement(); System.out.println(kokElement.getNodeName()); NodeList kisiListesi = kokElement.getElementsByTagName("kisi"); System.out.println("Kişi sayısı: " + kisiListesi.getLength()); for (int i = 0; i < kisiListesi.getLength(); i++) { Node kisi = kisiListesi.item(i); Element kisiElement = (Element) kisi; String kisiSira = kisiElement.getElementsByTagName("sira").item(0).getTextContent(); String kisiAdi = kisiElement.getElementsByTagName("adi").item(0).getTextContent(); String kisiSoyadi = kisiElement.getElementsByTagName("soyadi").item(0).getTextContent(); System.out.println(kisiSira + " " + kisiAdi + " " + kisiSoyadi); } } catch (Exception ex) { System.err.println(ex); } } } |
Yorum Yap