Java'da XML dosyası nasıl okunur ve ayrıştırılır?

Java XML ayrıştırıcı hakkındaki bu makale, XML ayrıştırıcısının ne olduğunu ve Java'da dom ayrıştırıcı kullanarak bir XML dosyasını nasıl ayrıştıracağınızı anlamanıza yardımcı olacaktır.

XML, Genişletilebilir İşaretleme Dili okunabilir bir biçimde belgeleri kodlamak için bir dizi kuralı tanımlayan bir biçimlendirme dilidir. XML Ayrıştırma verilere erişmek veya değiştirmek için bir XML belgesine gitmeyi ifade eder. Bir XML Ayrıştırıcı XML belgesindeki verilere erişmek veya bunları değiştirmek için gerekli işlevselliği sağlar. Bu yazıda keşfe çıkalım Ayrıntılı olarak XML Ayrıştırıcı.



XML Ayrıştırıcı nedir?

XML ayrıştırıcı istemci uygulamalarının XML belgeleriyle çalışması için bir arabirim sağlayan bir yazılım kitaplığı veya pakettir. XML belgesinin uygun biçimini kontrol eder ve ayrıca XML belgelerini doğrular.



Aşağıdaki şema, XML ayrıştırıcısının XML belgeleriyle nasıl etkileşim kurduğunu gösterir:

Java bir ilişkidir

xml ayrıştırıcı - Edureka Doğrulamayı, ayrıştırmanın ötesinde başka bir aşama olarak düşünebilirsiniz. Programın bileşen parçaları ayrıştırılırken tanımlandığından, doğrulayan bir ayrıştırıcı, uygun olup olmadıklarını kontrol etmek için bunları DTD veya Şema tarafından belirlenen modelle karşılaştırabilir.



JAVA XML Ayrıştırıcı

XML geliştirmenin temel bileşeni XML çözümlemedir. Java için XML ayrıştırma, bir XML belgesini (ve bazen de bağımsız bir DTD veya XML Şemasını) kullanıcı programının işleyebilmesi için ayrıştıran bağımsız bir XML bileşenidir. Aşağıdaki şekil, XML Ayrıştırıcıya girdi olarak bir XML belgesini göstermektedir.

  • Bir XML belgesi gönderildiJava için XML Ayrıştırıcıya girdi olarak
  • DOM veya SAX ayrıştırıcı arayüzü XML belgesini ayrıştırır
  • Ayrıştırılan XML daha sonra işlenmek üzere uygulamaya aktarılır

Java için XML Ayrıştırıcı, XML verilerini XSL stil sayfalarını kullanarak dönüştürmek için entegre bir XSL Dönüştürme (XSLT) İşlemcisi de içerebilir. XSLT İşlemcisini kullanarak, XML belgelerini XML'den XML'e, XML'den HTML'ye veya sanal olarak herhangi bir başka metin tabanlı biçime kolayca dönüştürebilirsiniz.



Java, XML belgelerini ayrıştırmak için birçok seçenek sunar.SYaygın olarak kullanılan java XML ayrıştırıcılarından bazıları şunlardır:

  1. DOM Ayrıştırıcı
  2. SAX Ayrıştırıcı
  3. StAX Ayrıştırıcı
  4. JAXB

Bu makalede, DOM Ayrıştırıcı kullanılarak bir XML Dosyasının nasıl ayrıştırılacağına bakalım.

Java XML Ayrıştırıcısı - DOM

KARAR duruyor Belge Nesnesi Modeli. DOM Parser, uygulaması ve öğrenmesi en kolay java XML çözümleyicisidir. Tüm bir XML belgesini ayrıştırır, belleğe yükler ve bir belgenin temsili.Kavramı anlamak için basit bir örnek ele alalım.

Demo amacıyla, adlı bir dosya kullanacağız. Employees.xml . Dosyada, her çalışanın benzersiz bir kimliği, adı ve soyadı, yaşı ve maaşı vardır ve çalışanlar kimlikleriyle ayrılır.

Dean Winchester 30 2500 Sam Davis 22 1500 Jake Peralta 24 2000 Amy Griffin 25 2250

Ayrıca, bir çalışan kavramını yakalamak için, kendi Java sınıfını oluşturuyoruz. Employee.java Aşağıda gösterildiği gibi:

paket MyPackage public class Çalışan {private String ID private String Firstname private String Soyadı özel int yaş özel çift maaş public Employee (String ID, String Firstname, String Lastname, int age, double maaş) {this.ID = ID this.Firstname = Firstname this.Lastname = Soyadı this.age = yaş this.salary = maaş} @Override public String toString () {return ''}}

DOM Ayrıştırıcıyı kullanarak bir XML Dosyasını ayrıştırma

Belge Nesne Modeli (DOM), düğümleri gerektiği gibi oluşturmanıza, değiştirmenize, silmenize ve yeniden düzenlemenize olanak tanıyan API'ler sağlar. DOM ayrıştırıcısı, tüm XML belgesini ayrıştırır ve XML içeriğini bir Ağaç yapısına yükler. Kullanmak Düğüm ve Düğüm Listesi sınıflar, bir XML dosyasının içeriğini alabilir ve değiştirebiliriz.

Bir örnek XML dosyasının içeriğini yükleyen ve içeriğini yazdıran aşağıdaki gibidir:

paket MyPackage import java.io.File import java.io.IOException import java.util.ArrayList import java.util.List import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import javax.xml.parsers.ParserConfigurationException import org.w3c.dom.Document import org.w3c.dom.Element import org.w3c.dom.Node import org.w3c.dom.NodeList import org.xml.sax.SAXException public class DomParserExample {public static void main (String [] args) ParserConfigurationException, SAXException, IOException {// Document Builder'ı Al DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () DocumentBuilder builder = factory.newDocumentBuilder () // Giriş XML belgesini yükleyin, ayrıştırın ve // ​​örneğinin bir örneğini geri döndürün Belge sınıfı. Belge document = builder.parse (yeni Dosya ('Çalışanlar.xml')) Liste çalışanları = new ArrayList () NodeList nodeList = document.getDocumentElement (). GetChildNodes () for (int i = 0 i

Kodun yürütülmesi şu şekilde gerçekleşir:

  • Öncelikle, uygulamadaki dom ayrıştırıcı paketlerini içe aktarmanız gerekir
  • Sonraki adım DocumentBuilder'ı oluşturmaktır nesne
  • XML dosyasını Document nesnesine okuyun.
  • XML dosyasını Document sınıfının bir örneğinde ayrıştırın ve saklayın
  • Bir tür düğüm bulduğunuzda Düğüm.ELEMENT_NODE , tüm bilgilerini alın ve bunları Çalışan sınıfının bir örneğinde saklayın
  • Son olarak, depolanan tüm çalışanların bilgilerini yazdırın

Çıktı

 

DOM Parser'ı kullanarak bir XML dosyasını bu şekilde ayrıştırabilirsiniz. DOM ayrıştırıcısının avantajları ve dezavantajları vardır.

DOM Parser'ın Avantaj ve Dezavantajları

Avantajlar

  • API'nin kullanımı çok basittir
  • Hem okuma hem de yazma işlemlerini destekler
  • Bir belgenin geniş ölçüde ayrılmış bölümlerine rastgele erişim gerektiğinde tercih edilir

Dezavantajları

  • Hafıza verimsizdir. Olarakdosya boyutu artar, performansı düşer ve daha fazla bellek tüketir
  • Java'da bulunan diğer XML ayrıştırıcılardan nispeten daha yavaş

Bu da bizi bu 'Java XML Ayrıştırıcı' makalesinin sonuna getiriyor.

Mümkün olduğunca çok pratik yaptığınızdan ve deneyiminizi geri aldığınızdan emin olun.

Kontrol et Dünya çapında 250.000'den fazla memnun öğrenciden oluşan bir ağa sahip güvenilir bir çevrimiçi öğrenme şirketi olan Edureka tarafından. Yolculuğunuzun her adımında size yardımcı olmak için buradayız, bu java mülakat sorularının yanı sıra, Java Geliştiricisi olmak isteyen öğrenciler ve profesyoneller için tasarlanmış bir müfredat geliştiriyoruz.

Bizim için bir sorunuz mu var? Lütfen bu 'Java XML Ayrıştırıcısının' yorumlar bölümünde bundan bahsedin makale ve mümkün olan en kısa sürede size geri döneceğiz.