Home Backend Development XML/RSS Tutorial How does Java read XML files? Specific implementation

How does Java read XML files? Specific implementation

Jan 11, 2017 pm 12:36 PM

Today’s CSDN FAQ will explain how to read the content of XML files in Java.

Just go to the code, the comments are very clear!

import java.io.*;
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 XMLReaderTest {
 public static void main(String args[]) {
  Element element = null;
  // 可以使用绝对路劲
  File f = new File("test.xml");
  // documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)
  DocumentBuilder db = null;
  DocumentBuilderFactory dbf = null;
  try {
   // 返回documentBuilderFactory对象
   dbf = DocumentBuilderFactory.newInstance();
   // 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
   db = dbf.newDocumentBuilder();
   // 得到一个DOM并返回给document对象
   Document dt = db.parse(f);
   // 得到一个elment根元素
   element = dt.getDocumentElement();
   // 获得根节点
   System.out.println("根元素:" + element.getNodeName());
   // 获得根元素下的子节点
   NodeList childNodes = element.getChildNodes();
   // 遍历这些子节点
   for (int i = 0; i < childNodes.getLength(); i++) {
    // 获得每个对应位置i的结点
    Node node1 = childNodes.item(i);
    if ("Account".equals(node1.getNodeName())) {
     // 如果节点的名称为"Account",则输出Account元素属性type
     System.out.println("\r\n找到一篇账号. 所属区域: " + node1.getAttributes().getNamedItem("type").getNodeValue() + ". ");
     // 获得<Accounts>下的节点
     NodeList nodeDetail = node1.getChildNodes();
     // 遍历<Accounts>下的节点
     for (int j = 0; j < nodeDetail.getLength(); j++) {
      // 获得<Accounts>元素每一个节点
      Node detail = nodeDetail.item(j);
      if ("code".equals(detail.getNodeName())) // 输出code
       System.out.println("卡号: " + detail.getTextContent());
      else if ("pass".equals(detail.getNodeName())) // 输出pass
       System.out.println("密码: " + detail.getTextContent());
      else if ("name".equals(detail.getNodeName())) // 输出name
       System.out.println("姓名: " + detail.getTextContent());
      else if ("money".equals(detail.getNodeName())) // 输出money
       System.out.println("余额: " + detail.getTextContent());
     }
    }
   }
  }
  catch (Exception e) {
   e.printStackTrace();
  }
 }
}

Then the XML file (test.xml) we test should be placed in the root directory of the project project. Its content is:

<?xml version="1.0" encoding="gbk"?>
<Accounts>
 <Account type="type1">
  <code>100001</code>
  <pass>123</pass>
  <name>李四</name>
  <money>1000000.00</money>
 </Account>
 <Account type="type2">
  <code>100002</code>
  <pass>123</pass>
  <name>张三</name>
  <money>1000.00</money>
 </Account>
</Accounts>

Run the code directly and output:

Root element: Accounts

Found an account number. Area: type1.
Card number: 100001
Password: 123
Name: Li Si
Balance: 1000000.00

Find an account. Area: type2.
Card number: 100002
Password: 123
Name: Zhang San
Balance: 1000.00

More How to read XML in Java Please pay attention to the PHP Chinese website for articles related to the specific implementation of the file!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

XML: Are Namespaces required? XML: Are Namespaces required? Jul 01, 2025 am 12:05 AM

XMLnamespacesarenotalwaysrequired,buttheyareessentialincertainsituations.1)TheyhelppreventnameconflictsinXMLdocumentscombiningelementsfrommultiplesources.2)Theycanbeomittedinsmall,self-containeddocuments.3)Bestpracticesincludeusingmeaningfulprefixesa

XML: Which are the best alternatives? XML: Which are the best alternatives? Jul 01, 2025 am 12:12 AM

JSON,YAML,ProtocolBuffers,CSV,andTOMLaresuitablealternativestoXML.1)JSONisidealforreadabilityandeaseofuse.2)YAMLofferscleanersyntaxandsupportscomments.3)ProtocolBuffersexcelinhigh-performanceapplications.4)CSVisperfectforsimpledataexchange.5)TOMLbala

Why XML Is Still Relevant: Exploring Its Strengths for Data Exchange Why XML Is Still Relevant: Exploring Its Strengths for Data Exchange Jul 05, 2025 am 12:17 AM

XMLremainsrelevantduetoitsstructuredandself-describingnature.Itexcelsinindustriesrequiringprecisionandclarity,supportscustomtagsandschemas,andintegratesdatavianamespaces,thoughitcanbeverboseandresource-intensive.

XML Basic Rules: Ensuring Well-Formed and Valid XML XML Basic Rules: Ensuring Well-Formed and Valid XML Jul 06, 2025 am 12:59 AM

XMLmustbewell-formedandvalid:1)Well-formedXMLfollowsbasicsyntacticruleslikeproperlynestedandclosedtags.2)ValidXMLadherestospecificrulesdefinedbyDTDsorXMLSchema,ensuringdataintegrityandconsistencyacrossapplications.

XML in Software Development: Use Cases and Reasons for Adoption XML in Software Development: Use Cases and Reasons for Adoption Jul 10, 2025 pm 12:14 PM

XMLischosenoverotherformatsduetoitsflexibility,human-readability,androbustecosystem.1)Itexcelsindataexchangeandconfiguration.2)It'splatform-independent,supportingintegrationacrossdifferentsystemsandlanguages.3)XML'sschemavalidationensuresdataintegrit

XML: Does encoding affects the well-formed status? XML: Does encoding affects the well-formed status? Jul 03, 2025 am 12:29 AM

XMLencodingdoesaffectwhetheradocumentisconsideredwell-formed.1)TheencodingmustbecorrectlydeclaredintheXMLdeclaration,matchingtheactualdocumentencoding.2)OmittingthedeclarationdefaultstoUTF-8orUTF-16,whichcanleadtoissuesifthedocumentusesadifferentenco

XML: Why are namespaces needed? XML: Why are namespaces needed? Jul 07, 2025 am 12:29 AM

XMLnamespacesareessentialforavoidingnamingconflictsinXMLdocuments.Theyuniquelyidentifyelementsandattributes,allowingdifferentpartsofanXMLdocumenttocoexistwithoutissues:1)NamespacesuseURIsasuniqueidentifiers,2)Consistentprefixusageimprovesreadability,

Well-Formed XML: Understanding the Essential Rules for Valid XML Well-Formed XML: Understanding the Essential Rules for Valid XML Jul 02, 2025 am 12:02 AM

AnXMLdocumentiswell-formedifitadherestospecificrules:1)ithasasinglerootelement,2)alltagsareproperlynested,3)everyopeningtaghasacorrespondingclosingtag,4)itiscase-sensitive,and5)specialcharactersareproperlyescaped.TheserulesensuretheXMLisuniversallyun

See all articles