DocumentHelper 和SAXReader 解析xml 字符串


DocumentHelper 解析xml字符串

String xml=com.jetsen.platform.util.FileUtil.getFileContent(request.getSession().getServletContext().getRealPath("/WEB-INF/platform-app-interface.xml"));
org.dom4j.Document doc = org.dom4j.DocumentHelper.parseText(xml);
org.dom4j.Element stu = doc.getRootElement();
java.util.List<java.util.Map<String,String>> l=new java.util.ArrayList<java.util.Map<String,String>>();
java.util.List<org.dom4j.Element> elist=stu.elements();
for(int i = 0 ; i < elist.size() ; i++)
{
org.dom4j.Element e=elist.get(i);
java.util.HashMap<String,String> map=new java.util.HashMap<String,String>();
map.put("id",e.attributeValue("id"));
map.put("beanId",e.attributeValue("beanId"));
map.put("methodName",e.attributeValue("methodName"));
map.put("paramClass",e.attributeValue("paramClass"));
map.put("example",e.getText());
l.add(map);
}
request.setAttribute("l",l);

SAXReader用法示例

/要上傳的配置文件的路徑

static String uploadCfgFile = "WEB-INF/conf/uploadfile.xml";

Document uploadDocument;//文檔對象實體

Map uploadMap = new HashMap();

/** * 獲取配置文件的絕對路徑 * @param request * @return */

private String getUploadCfgFilePath(ServletRequest request){

return ((HttpServletRequest) request).getSession().getServletContext().getRealPath("uploadCfgFile");

}

** * 初始化配置文件 * @param request * @return */

private Document initUploadCfgDocument(ServletRequest request){

SAXReader saxReader = new SAXReader();

try {

//得到指定文件,以流的形式對文件進行序列化

FileInputStream fis = new FileInputStream(getUploadCfgFilePath(request));

uploadDocument = (Document) saxReader.read(fis);

} catch (FileNotFoundException e) {

logger.debug(e);

} catch (DocumentException e) {

logger.debug(e);

}

return uploadDocument;

/** * 獲取配置文件 * @param request * @return */

private Document getUploadCfgDocument(ServletRequest request){

if (this.uploadDocument == null) {

this.uploadDocument = initUploadCfgDocument(request);

}

return this.uploadDocument;

}

/** * 獲取某個指定ticket節點的配置屬性 * @param request * @return */

private Map getUploadMap(ServletRequest request){

Document uploadDocument = getUploadCfgDocument(request); //得到XML的根節點(message)

Element root = uploadDocument.getRootElement();

Iterator tickets = root.element("body").element("ticketNotify").elementIterator(); //獲取ticketNotify節點下所有的ticket節點的配置屬性,並將其放到Map中

while (tickets.hasNext()) { Element ticket = (Element) tickets.next(); uploadMap.put("id", ticket.attributeValue("id"));

uploadMap.put("dealTime", ticket.attributeValue("dealTime"));

uploadMap.put("status", ticket.attributeValue("status")); } //Element.asXML方法,獲得包括該標簽的所有XML數據

// System.out.println(root.element("body").asXML());

return uploadMap;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM