1.dom4j解析xml字符串
需要jar包dom4j-1.6.1.jar
package com.example.xmlresovler;
import java.util.HashMap;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo4jXmlResovlerDao {
/**
* demo4j解析xml
*/
public static Map xmlResovlerDao(String xml) {
Map map=new HashMap();
SAXReader saxReader=new SAXReader();
Document doc=null;
try {
//字符串轉xml
doc=DocumentHelper.parseText(xml);
//獲取根節點
Element rootElt = doc.getRootElement(); // 獲取根節點
//打印根節點名字
System.out.println("根節點名字:"+rootElt.getName());
//獲取根節點下的所有子節點
//<?xml version="1.0" encoding="UTF-8"?>
//<root>
//<returnCode>922609</returnCode>
//<message>會員創建成功</message>
//</root>
String returnCode=rootElt.elementTextTrim("returnCode");
String message=rootElt.elementTextTrim("message");
map.put("returnCode", returnCode);
map.put("message", message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 將字符串轉為XML
return map;
}
}
2.JDOM
解析xml字符串
需要導入jar包jdom-1.1.3.jar
package com.example.xmlresovler;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
/**
* JDOM解析
* @author admin
*
*/
public class JDOMXmlResovlerDao {
public static Map xmlResovlerDao(String xml) throws Exception {
Map map=new HashMap();
SAXBuilder saxBuilder = new SAXBuilder();
//創建一個輸入流,加載xml文件
//InputStream in = new FileInputStream("src/mm.xml");
//解析xml字符串
StringReader read = new StringReader(xml);
// 創建新的輸入源SAX 解析器將使用 InputSource 對象來確定如何讀取 XML 輸入
InputSource in = new InputSource(read);
Document document = saxBuilder.build(in);
//獲取根節點
Element rootElement = document.getRootElement();
List<Element> elements = rootElement.getChildren();
//獲取屬性值
for (Element element : elements) {
map.put(element.getName(), element.getValue());
}
return map;
}
}