从另一台服务器访问XML文件并将数据存储到我的数据库

时间:2016-01-14 05:44:20

标签: xml postgresql jsp server remote-access

假设xml文件存储在另一台服务器中。

www.example.com/test.xml

现在我想使用jsp在我的postgres数据库中加载该xml文件的数据。 怎么做。 plzz帮助。

1 个答案:

答案 0 :(得分:1)

您可以在servlet中使用以下Java代码(如果有的话)或在jsp文件中(在scriptlet中),但这会导致糟糕的设计

 public String getXmlFromUrl(String url)    {


    BufferedReader reader = null;
    StringBuilder stringBuilder=null;
    String lineSeparator = System.getProperty("line.separator");

    try{
        URL url = new URL(url);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoInput(true);
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Content-type", "application/xml");
        conn.setReadTimeout(10000);//set timeout to 10000 or whatever you think is OK
        conn.connect();
        reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
        stringBuilder = new StringBuilder();
        String line=null;
        while((line = reader.readLine()) != null){
            stringBuilder.append(line + lineSeparator);
        }


    catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{
        if(reader!=null)
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    }
    return stringBuilder.toString();
}

要将xml插入数据库,请使用JDBC。如果您不知道如何做到这一点,只需搜索SO,就会有很多例子。