您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java中如何使用DOM4J生成xml文件并解析xml文件”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java中如何使用DOM4J生成xml文件并解析xml文件”這篇文章吧。
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency>
生成xml代碼
/** * 使用DOM4J生成xml方法 */ public static void createXml(){ try { // 創建document對象 Document document = DocumentHelper.createDocument(); // 創建根節點bookRoot Element StudentRoot = document.addElement("StudentRoot"); // 向根節點中添加第一個節點 Element book1 = StudentRoot.addElement("student"); // 向子節點中添加屬性 book1.addAttribute("id","1"); // 向節點中添加子節點 Element name = book1.addElement("name"); // 向子節點賦值 name.setText("小喬"); Element price = book1.addElement("age"); price.setText("18"); // 向根節點中添加第二個節點 Element book2 = StudentRoot.addElement("student"); book2.addAttribute("id","2").addElement("name").setText("大橋"); book2.addElement("age").setText("20"); // 向根節點中添加第三個節點 Element book3 = StudentRoot.addElement("student"); book3.addAttribute("id","3").addElement("name").setText("孫策"); book3.addElement("age").setText("21"); // 設置生成xml的格式 OutputFormat of = OutputFormat.createPrettyPrint(); // 設置編碼格式 of.setEncoding("UTF-8"); // 生成xml文件 File file = new File("E:\\student.xml"); if (file.exists()){ file.delete(); } //創建一個xml文檔編輯器 XMLWriter writer = new XMLWriter(new FileOutputStream(file), of); //把剛剛創建的document放到文檔編輯器中 writer.write(document); writer.close(); } catch (Exception e) { e.printStackTrace(); } }
解析xml的文件就是剛剛導出的那個樣子,我們展示兩種情況,一個是知道屬性名字和子元素名字的我們把解析的xml文件數據放到實體類中.不知道的就直接打印到控制臺.
實體類展示
import lombok.Data; @Data public class Student { private int id; private String name; private int age; }
解析xml文件方法
public static void analysis(){ // 把要解析的xml變成file文件 File file = new File("E:\\student.xml"); // 獲取解析器對象 SAXReader reader = new SAXReader(); // 把文件解析成document樹 Document document = null; try { document = reader.read(file); } catch (DocumentException e) { e.printStackTrace(); } // 獲取根節點 Element studentRoot = document.getRootElement(); // 獲取根節點中所有節點 List<Element> elements = studentRoot.elements(); // 存放xml中節點的數據集合 List<Student> list = new ArrayList<>(); // 便利所有節點 for (Element child : elements) { Student student = new Student(); //已知屬性名情況下 student.setId(Integer.parseInt(child.attributeValue("id")));//獲取屬性的數據 //已知子元素名的情況下 student.setName(child.elementText("name"));//獲取元素中值 student.setAge(Integer.parseInt(child.elementText("age")));//獲取元素中值 list.add(student); //未知屬性名情況下 List<Attribute> attributes = child.attributes(); for (Attribute attribute : attributes) { System.out.println(attribute.getName() + "---> " + attribute.getValue()); } //未知子元素名情況下 List<Element> elementList = child.elements(); for (Element ele : elementList) { System.out.println(ele.getName() + "--->" + ele.getText()); } } //把解析xml出來的數據集合打印 list.forEach(x-> System.out.println(x)); }
解析結果展示
以上是“Java中如何使用DOM4J生成xml文件并解析xml文件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。