簡體   English   中英

如何讀取Servlet請求中存在的xml文件

[英]How to read xml file present in Servlet request

標頭要求

POST http://{URL} HTTP/1.1
Accept: */*
Accept-Language: en-us
Content-Type: text/xml; charset=UTF-8
Accept-Encoding: gzip, deflate
Content-Length: 1049
Connection: Keep-Alive
Pragma: no-cache
<?xml version="1.0"?>
 <userID>dummy</userID>
<password>pwd</password>

我有上述請求,該請求發送到doFilter中的ServletRequest中。 我可以通過使用如下的服務API來讀取參數

HttpServletRequest req = (HttpServletRequest) request;
Enumeration<String> params = req.getParameterNames();

如何使用Java中的servlet讀取xml內容以便在該xml中檢索UserID

這就是我使用org.dom4j.io.SAXReaderHTTPServletRequest將XML讀取到映射中的方法

public  static Map<String, String>  parseXml(HttpServletRequest request) throws    IOException, DocumentException {
    Map<String,String> map=new HashMap<String,String>();
    InputStream is =request.getInputStream();
    SAXReader reader=new SAXReader();
    Document document=reader.read(is);      
    Element root =document.getRootElement();

    List<Element> elementList=root.elements();

    for(Element e: elementList){
        map.put(e.getName(), e.getText());
    }

    //now your map will have below mapping 
    //"userID"->"dummy"
    //"password"->"pwd"

    return map;     
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM