java:利用Dom讀取xml文件

其中要讀取的xml文件:(文件名字爲data_10k.xml)
<?xml version="1.0" encoding="UTF-8"?>
<RESULT>  
<MODEL>     
  <CLASS>美食</CLASS>     
  <NUMBER>2</NUMBER>
  <WORD>中餐廳</WORD>
  <WORD>西餐廳</WORD>
</MODEL>  
<MODEL>     
  <CLASS>通用設施</CLASS> 
  <NUMBER>3</NUMBER>
  <WORD>wifi</WORD>
  <WORD>電梯</WORD> 
  <WORD>商場</WORD>   
</MODEL>
<MODEL>     
  <CLASS>服務</CLASS>   
  <NUMBER>4</NUMBER>  
  <WORD>會議廳</WORD>
  <WORD>商務中心</WORD>
  <WORD>外幣兌換</WORD>
  <WORD>旅遊票務</WORD>    
</MODEL>
</RESULT> 


利用java讀取文件:

package EvaluationModel;

import java.io.File;
import java.net.URLDecoder;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;


public class readXML {
	
	public static void main(String[] args){
		try{
			String filePath=readXML.class.getResource("").getPath()+"data_10k.xml";    //代碼的路徑在bin文件夾下,
			File f=new File(URLDecoder.decode(filePath, "utf-8"));                     //如果路徑裏面有中文的,要轉換爲utf-8
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();   
			DocumentBuilder builder = factory.newDocumentBuilder();   
			Document doc = builder.parse(f);   
			NodeList nl = doc.getElementsByTagName("MODEL"); 
			int number=0;
			int j=0;
			for (int i = 0; i < nl.getLength(); i++) {   
				System.out.print("類別:"+ doc.getElementsByTagName("CLASS").item(i).getFirstChild().getNodeValue()+" ");   
				number=number+Integer.parseInt(doc.getElementsByTagName("NUMBER").item(i).getFirstChild().getNodeValue());  //獲取個數\
				System.out.print("屬性詞:");
				while(j<number){
					System.out.print( doc.getElementsByTagName("WORD").item(j).getFirstChild().getNodeValue()+" ");
					j++;
				}
				System.out.println();
			} 
		}catch(Exception e){
			 e.printStackTrace(); 
		}
	}

}


讀取的結果顯示爲:



發佈了33 篇原創文章 · 獲贊 18 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章