1.要解析的文件模板如下:
<?xml version="1.0" encoding="GBK"?>
<crsc> <data><舉報信息反饋><R index="1"><舉報編號>1</舉報編號><狀態>1</狀態><答復意見>填寫答復意見</答復意見></R><R index="2"><舉報編號>2</舉報編號><狀態>2</狀態><答復意見>填寫答復意見</答復意見></R><R index="3"><舉報編號>3</舉報編號><狀態>3</狀態><答復意見>填寫答復意見</答復意見></R><R index="4"><舉報編號>4</舉報編號><狀態>1</狀態><答復意見>填寫答復意見</答復意見></R></舉報信息反饋></data>
</crsc>
2.解析步驟:
首先要下載jdom的jar包,地址:http://www.jdom.org/downloads/index.html
下載完成后解壓后把 jdom-2.0.5.jar放到你的工程下面就可以了
3.解析代碼:
package cn.gov.csrc.jdom.xml;import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;/*** 使用JDom解析xml* @author admin**/
public class JDomOperateXmlDemo2 {/*** 獲取當前時間為文件夾名稱* @return*/public static String getFileName(){String fileNames = null;Date date = new Date();SimpleDateFormat formatDateFormat = new SimpleDateFormat("yyyy-MM-dd");fileNames = formatDateFormat.format(date);return fileNames;}/*** JDom解析xml文件*/public static void parseXml(){String xmlPath = "D:\\admin\\"+getFileName()+"\\case.xml";try {//創建SAX建造者對象,該類構造方法的重載boolean類型的方法中validate表示是否驗證xml文檔SAXBuilder saxBuilder = new SAXBuilder(false);InputStream inputStream = new FileInputStream(new File(xmlPath)); //解析xml文檔,返回document文檔對象Document document = saxBuilder.build(inputStream);//獲取根節點Element rootElement = document.getRootElement();//獲取根節點下的第一個子節點List<Element> elementList = rootElement.getChildren();for (Element element : elementList) {Element nameElement = element.getChild("舉報信息反饋");List<Element> children = nameElement.getChildren();for (Element element2 : children) {Element nameElement2 = element2.getChild("舉報編號");if(nameElement2 != null){System.out.println(" " + nameElement2.getName() + ":" + nameElement2.getTextTrim());}Element valueElement = element2.getChild("狀態");if(valueElement != null){System.out.println(" " + valueElement.getName() + ":" + valueElement.getTextTrim());}Element descriptElement = element2.getChild("答復意見");if(descriptElement != null){System.out.println(" " + descriptElement.getName() + ":" + descriptElement.getTextTrim());}System.out.println("--------------------");}}} catch (Exception e) {System.out.println(e.getMessage());}}public static void main(String[] args) throws Exception {JDomOperateXmlDemo2 demo = new JDomOperateXmlDemo2();demo.parseXml();}}
4.解析結果: