用dom4j SAXReader解析xml檔案及字串
1.解析檔案
/**
* 解析發來的請求(XML)
*
* @param request
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static Map<String, String> parseXml(HttpServletRequest request) throws Exception {
// 將解析結果儲存在HashMap中
Map<String, String> map = new HashMap<String, String>();
// 從request中取得輸入流
InputStream inputStream = request.getInputStream();
// 讀取輸入流
SAXReader reader = new SAXReader();
Document document = reader.read(inputStream);
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子節點
List<Element> elementList = root.elements();
// 遍歷所有子節點
for (Element e : elementList)
map.put(e.getName(), e.getText());
// 釋放資源
inputStream.close();
inputStream = null;
return map;
}
2.解析字串
/**
* 解析XML
*
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static Map<String, String> parseXml(String xml) throws Exception {
// 將解析結果儲存在HashMap中
Map<String, String> map = new HashMap<String, String>();
// 讀取輸入流
SAXReader reader = new SAXReader();
Document document = reader.read(new ByteArrayInputStream(xml.getBytes("utf-8")));
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子節點
List<Element> elementList = root.elements();
// 遍歷所有子節點
for (Element e : elementList)
map.put(e.getName(), e.getText());
return map;
}
private static void parse(List<Element> elementList, Map map) {
// 遍歷所有子節點
for (Element e : elementList) {
if(e.hasContent()){
parse(e.elements(), map);
}
map.put(e.getName(), e.getText());
}
}
相關文章
- SaxReader讀取,更新xml檔案XML
- Java DOM4J 方式解析XML檔案JavaXML
- 用c#生成xml字串及解析xml字串C#XML字串
- dom4j解析xmlXML
- dom4j讀寫xml檔案XML
- 用dom4j,解析xml 最好、最方便!XML
- 利用dom4j來生成xml檔案XML
- 使用dom4j 解析, 操作XMLXML
- Dom4j解析XML資料XML
- 使用Dom4j解析XML案例XML
- jdom解析xml檔案XML
- GData解析XML檔案XML
- jquery 解析xml檔案jQueryXML
- java學習:使用dom4j讀寫xml檔案JavaXML
- java的XML解析(DOM4J技術)JavaXML
- 使用 Java 解析XML檔案JavaXML
- 利用Perl解析XML檔案XML
- C#解析XML檔案C#XML
- python XML 檔案解析PythonXML
- XML 檔案解析實踐 (DOM 解析)XML
- 讀取xml檔案 解析雙層xmlXML
- DOM4J 解析 XML 之忽略轉義字元XML字元
- 【超好用API推薦】用dom4j建立XML檔案並寫入節點APIXML
- Android之XML檔案解析AndroidXML
- struts2中struts.xml和web.xml檔案解析及工作原理XMLWeb
- Python解析XML檔案生成HTMLPythonXMLHTML
- Java XML檔案解析書目錄JavaXML
- python 解析xml 檔案: SAX方式PythonXML
- python 解析xml 檔案: DOM 方式PythonXML
- Python解析xml大檔案(sax)PythonXML
- AndroidManifest.xml檔案解析AndroidXML
- Java解析XML彙總(DOM/SAX/JDOM/DOM4j/XPath)JavaXML
- 用JDOM操作XML檔案XML
- Dom4j 操作 XMLXML
- 使用PHP DOM-XML建立和解析XML檔案 (轉)PHPXML
- 菜鳥學Java(八)——dom4j詳解之讀取XML檔案JavaXML
- 如何使用 ABAP 程式碼解析 XML 檔案XML
- c#(解析xml檔案基礎方法)C#XML