java解析xml之dom解析xml示例分享
package com.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
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 DomXML {
public static void main(String[] args) {
try {
File file = new File("e:/People.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(file);
Element element = document.getDocumentElement();
List<People> peopleList = new ArrayList<People>();
NodeList peopleNodes = element.getElementsByTagName("People");
for(int i=0;i<peopleNodes.getLength();i++){
People people = new People();
Element peopleElement = (Element) peopleNodes.item(i);
people.setId(peopleElement.getAttribute("id"));
NodeList childPeopleNodes = peopleElement.getChildNodes();
for(int j=0;j<childPeopleNodes.getLength();j++){
//DOM解析時候注意子節(jié)點前面的空格也會被解析
if(childPeopleNodes.item(j) instanceof Element){
Element childPeopleElement = (Element) childPeopleNodes.item(j);
if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){
if(childPeopleElement.getNodeName().equals("Name")){
people.setEnglishName(childPeopleElement.getAttribute("en"));
people.setName(childPeopleElement.getTextContent());
}
else if(childPeopleElement.getNodeName().equals("Age")){
people.setAge(childPeopleElement.getTextContent());
}
}
}
}
peopleList.add(people);
}
for(People people : peopleList){
System.out.println(people.getId()+"\t"+people.getName()+"\t"+people.getEnglishName()+"\t"+people.getAge());
}
} catch (Exception e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
}
}
- java使用xpath解析xml示例分享
- javascript讀取Xml文件做一個二級聯(lián)動菜單示例
- JavaScript獲取XML數(shù)據(jù)附示例截圖
- Java生成和解析XML格式文件和字符串的實例代碼
- javascript創(chuàng)建createXmlHttpRequest對象示例代碼
- java操作XML實例代碼
- java使用xpath和dom4j解析xml
- java解析xml之jdom解析xml示例分享
- java解析xml之dom4j解析xml示例分享
- java解析xml之sax解析xml示例分享
- java使用dom4j解析xml配置文件實現(xiàn)抽象工廠反射示例
- java dom4j解析xml用到的幾個方法
- javaScript如何生成xmlhttp
- javascript讀取xml實現(xiàn)javascript分頁
- Java如何讀取XML文件 具體實現(xiàn)
- javascript獲取xml節(jié)點的最大值(實現(xiàn)代碼)
- java dom4j解析xml文件代碼實例分享
- java使用jaxb操作xml示例
相關(guān)文章
JAVA中方法的聲明及使用方式(繼承、多態(tài)、封裝)
這篇文章主要介紹了JAVA中方法的聲明及使用方式(繼承、多態(tài)、封裝),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02一文帶你掌握Java?LinkedBlockingQueue
LinkedBlockingQueue?是一個可選有界阻塞隊列,這篇文章主要為大家詳細介紹了Java中LinkedBlockingQueue的實現(xiàn)原理與適用場景,感興趣的可以了解一下2023-04-04Java基礎(chǔ)之線程鎖相關(guān)知識總結(jié)
今天給大家?guī)淼氖顷P(guān)于Java線程的相關(guān)知識,文章圍繞著Java線程鎖展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06Java StringBuffer與StringBuilder有什么區(qū)別
當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder類,和String類不同的是,StringBuffer和 StringBuilder類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象,本篇我們來分析分析它們的區(qū)別2023-01-01Spring @Profile注解實現(xiàn)多環(huán)境配置
這篇文章主要介紹了Spring @Profile注解實現(xiàn)多環(huán)境配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04