Dom4j是一款Java語言的XML解析器,而JSON是現(xiàn)在最為流行的數(shù)據(jù)交換格式。因此,在開發(fā)過程中,我們經(jīng)常需要從Dom4j轉換為JSON,或者反過來,從JSON轉換為Dom4j。本文將介紹利用Dom4j和相關的Java類庫來實現(xiàn)這兩個過程。
將Dom4j轉換為JSON:
// 創(chuàng)建一個XML文檔 Document document = DocumentHelper.createDocument(); Element root = document.addElement("root"); Element element1 = root.addElement("element1"); element1.addAttribute("attribute1", "value1"); element1.addAttribute("attribute2", "value2"); element1.addElement("child1").addText("child1value"); element1.addElement("child2").addText("child2value"); Element element2 = root.addElement("element2"); element2.addElement("child3").addText("child3value"); // 使用JsonXmlConversionUtil將Dom4j轉換為JSON字符串 String json = JsonXmlConversionUtil.convertXmlToJson(document.asXML());
從JSON轉換為Dom4j:
// 使用JsonXmlConversionUtil將JSON字符串轉換為Dom4j對象 Document document = DocumentHelper.parseText(JsonXmlConversionUtil.convertJsonToXml(json)); // 獲取根元素 Element root = document.getRootElement(); // 遍歷元素,輸出每個元素的名稱和屬性 for (Iteratori = root.elementIterator(); i.hasNext();) { Element element = i.next(); System.out.println("Element name: " + element.getName()); for (Iterator j = element.attributeIterator(); j.hasNext();) { Attribute attribute = j.next(); System.out.println("Attribute name: " + attribute.getName() + ", Attribute value: " + attribute.getValue()); } }
除了上述代碼中用到的JsonXmlConversionUtil類之外,還可以使用其他相關的Java類庫來實現(xiàn)Dom4j和JSON之間的轉換,例如Jackson、Gson等。
上一篇extjs中嵌入vue