打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个用java读取XML文件的简单方法

XML文件 book.xml

<book>
  
<person>
    
<first>Kiran</first>
    
<last>Pai</last>
    
<age>22</age>
  
</person>
  
<person>
    
<first>Bill</first>
    
<last>Gates</last>
    
<age>46</age>
  
</person>
  
<person>
    
<first>Steve</first>
    
<last>Jobs</last>
    
<age>40</age>
  
</person>
</book>

 

程序输出

Root element of the doc is book
Total no of people: 3
First Name: Kiran
Last Name: Pai
Age: 22
First Name: Bill
Last Name: Gates
Age: 46
First Name: Steve
Last Name: Jobs
Age: 40

程序清单

import java.io.File;
import org.w3c.dom.Document;
import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException; 

public class ReadAndPrintXMLFile {

    
public static void main (String argv []) {
        
try {

            DocumentBuilderFactory docBuilderFactory 
= DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder 
= docBuilderFactory.newDocumentBuilder();
            Document doc 
= docBuilder.parse (new File("book.xml"));

            
// normalize text representation            
            doc.getDocumentElement ().normalize ();
            System.out.println (
"Root element of the doc is " + doc.getDocumentElement().getNodeName());

            NodeList listOfPersons 
= doc.getElementsByTagName("person");
            
int totalPersons = listOfPersons.getLength();
            System.out.println(
"Total no of people : " + totalPersons);

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

                Node firstPersonNode 
= listOfPersons.item(s);
                
if (firstPersonNode.getNodeType() == Node.ELEMENT_NODE) {

                    Element firstPersonElement 
= (Element) firstPersonNode;

                    
//-------                    
                    NodeList firstNameList = firstPersonElement.getElementsByTagName("first");
                    Element firstNameElement 
= (Element) firstNameList.item(0);

                    NodeList textFNList 
= firstNameElement.getChildNodes();
                    System.out.println(
"First Name : " + 
                           ((Node) textFNList.item(
0)).getNodeValue().trim());

                    
//-------                    
                    NodeList lastNameList = firstPersonElement.getElementsByTagName("last");
                    Element lastNameElement 
= (Element) lastNameList.item(0);

                    NodeList textLNList 
= lastNameElement.getChildNodes();
                    System.out.println(
"Last Name : " + 
                           ((Node)textLNList.item(
0)).getNodeValue().trim());

                    
//----                    
                    NodeList ageList = firstPersonElement.getElementsByTagName("age");
                    Element ageElement 
= (Element) ageList.item(0);

                    NodeList textAgeList 
= ageElement.getChildNodes();
                    System.out.println(
"Age : " + ((Node) textAgeList.item(0)).getNodeValue().trim());

                    
//------

                }
//end of if clause

            }
//end of for loop with s var

        }

        
catch (SAXParseException err) {
               System.out.println (
"** Parsing error" + ", line " 
                                          
+ err.getLineNumber () + ", uri " + err.getSystemId ());
               System.out.println(
" " + err.getMessage ());

        }

        
catch (SAXException e) {
                Exception x 
= e.getException ();
                ((x 
== null? e : x).printStackTrace ();

        }

        
catch (Throwable t) {
                t.printStackTrace ();
        }

        
//System.exit (0);
    }
//end of main

}


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用DOM/JDOM解析XML文件
配置java才解析xml文件
Java程序员从笨鸟到菜鸟之(二十六)XML之DOM和SAX解析
xml文件解析-DOM
纯Java的方式读取excel2007
如何设计一个公共的数据字典维护模块
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服