Как читать XML-файл в Java

Этот образец кода считывает файл XML с помощью DOM парсер. DOM парсер загружает XML-файла в память и делает объектную модель его. Это модальное объект может быть пройден получить ее элементов.

Этот код будет проанализировать следующие MyXMLFile.xml файл и распечатать его элементов на консоль.

XML-файла: MyXMLFile.xml

<?xml version="1.0"?>
<company>
<employee>
<firstname>Tom</firstname>
<lastname>Cruise</lastname>
</employee>
<employee>
<firstname>Paul</firstname>
<lastname>Enderson</lastname>
</employee>
<employee>
<firstname>George</firstname>
<lastname>Bush</lastname>
</employee>
</company>

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;



public class XMLReader {



 public static void main(String argv[]) {



  try {

  File file = new File("c:\\MyXMLFile.xml");

  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

  DocumentBuilder db = dbf.newDocumentBuilder();

  Document doc = db.parse(file);

  doc.getDocumentElement().normalize();

  System.out.println("Root element " + doc.getDocumentElement().getNodeName());

  NodeList nodeLst = doc.getElementsByTagName("employee");

  System.out.println("Information of all employees");



  for (int s = 0; s < nodeLst.getLength(); s++) {



    Node fstNode = nodeLst.item(s);

    

    if (fstNode.getNodeType() == Node.ELEMENT_NODE) {

  

           Element fstElmnt = (ElementfstNode;

      NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("firstname");

      Element fstNmElmnt = (ElementfstNmElmntLst.item(0);

      NodeList fstNm = fstNmElmnt.getChildNodes();

      System.out.println("First Name : "  ((NodefstNm.item(0)).getNodeValue());

      NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");

      Element lstNmElmnt = (ElementlstNmElmntLst.item(0);

      NodeList lstNm = lstNmElmnt.getChildNodes();

      System.out.println("Last Name : " ((NodelstNm.item(0)).getNodeValue());

    }



  }

  catch (Exception e) {

    e.printStackTrace();

  }

 }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>