xml报文
<?xml version='1.0' encoding='utf-8'?> <bookstore> <book id='1'> <name>冰与火之歌</name> <author>乔治马丁</author> <year>2014</year> <price>89</price> </book> <book id='2'> <name>安徒生童话</name> <author>安徒生</author> <year>2014</year> <price>69</price> </book> </bookstore>
java代码:
1 import java.util.HashMap; 2 import java.util.List; 3 import java.util.Map; 4 5 6 import com.alibaba.fastjson.JSONArray; 7 import com.alibaba.fastjson.JSONObject; 8 import org.dom4j.Document; 9 import org.dom4j.DocumentException; 10 import org.dom4j.DocumentHelper; 11 import org.dom4j.Element; 12 13 public class XmlTest { 14 public static Element getChildElement(Element e, String element_name) { 15 Element returnElement = null; 16 List<Element> elements = e.elements(); 17 if (elements != null && !elements.isEmpty()) { 18 for (Element element : elements) { 19 if (element.getName().equals(element_name)) { 20 returnElement = element; 21 break; 22 } 23 } 24 } 25 return returnElement; 26 } 27 28 public static void main(String[] args) { 29 String resp = "<?xml version='1.0' encoding='UTF-8'?><bookstore><book id='1'><name>冰与火之歌</name><author>乔治马丁</author><year>2014</year><price>89</price></book><book id='2'><name>安徒生童话</name><author>安徒生</author><year>2014</year><price>69</price></book></bookstore>"; 30 31 try { 32 Document doc = DocumentHelper.parseText(resp); 33 //指向根节点 34 Element root = doc.getRootElement(); 35 JSONObject json = null; 36 JSONArray jsonArray = new JSONArray(); 37 // Element book = XMLString2.getChildElement(root, "book"); 38 //获取book的属性值 39 // String id = book.attributeValue("id"); 40 // kBook.setId(id); 41 List<Element> elements = root.elements(); 42 for (Element element : elements) { 43 Map <String,Object> map = new HashMap<>(); 44 map.put("name",element.element("name").getStringValue()); 45 map.put("author", element.element("author").getStringValue()); 46 map.put("price", element.element("price").getStringValue()); 47 map.put("year", element.element("year").getStringValue()); 48 json = new JSONObject(map); 49 jsonArray.add(json); 50 } 51 52 53 } catch (DocumentException e) { 54 // TODO Auto-generated catch block 55 e.printStackTrace(); 56 } 57 58 } 59 60 }
结果
参考博客:https://blog.csdn.net/zflovecf/article/details/78908788