2009-02-09 8 views
0

J'ai généré un fichier xml en utilisant jsp, mais je veux que le fichier xml généré soit enregistré en tant que fichier. mon code estcomment enregistrer le fichier XML généré en utilisant jsp?

<?xml version="1.0" encoding="UTF-8"?> 
    <%@ page contentType="text/xml;charset=ISO-8859-1" %> 
    <playlist version="1" xmlns = "http://xspf.org/ns/0/"> 
    <title>My Band Rocks Your Socks</title> 
    <trackList> 
    <%! String[] sports; %> 
    <% 
    sports = request.getParameterValues("sports"); 
    if (sports != null) 
    { 
     for (int i = 0; i < sports.length; i++) 
     { 
       // out.println (sports[i]); 
       String total=sports[i]; 
       String[] sa=total.split("[,]"); 
       // String[] sub=new String(); 
       out.print("<track>"); 
       for (int j=0;j<sa.length;j++) 
       { 
       // out.println(sa[j]); 
       // out.println("sa["+j+"]="+sa[j]); 
       if(j == 0) 
       { 
        out.print("<location>" + sa[0] +"</location>"); 
       } 
       else if (j == 1) 
        { 
         out.print("<image>" + sa[1] +"</image>"); 
        } 
        else if(j==2) 
          { 
          out.print("<title>" + sa[2] +"</title>"); 
          } 

       }// end of inner for loop()  
       out.print("</track>"); 
     //out.println(); 
     }// end of outer for() 
    } 
    //else out.println ("<b>none<b>"); 
    %> 
    </trackList> 
</playlist> 

Répondre

3

Oui, vous pouvez. La façon de le faire est essentiellement de définir un en-tête supplémentaire - que vous pouvez faire sur l'objet de réponse.

L'en-tête à définir s'appelle Content-Disposition et la valeur doit être quelque chose comme "attachment; filename = \" foo.xml \ "".

+1

Salut Bini, J'ai ajouté <% response.setHeader ("Content-Disposition", "attachment; filename = \" playlist.xml \ ""); %> a bien fonctionné, mais il est incitant à enregistrer le fichier dans un emplacement particulier .. Je ne peux pas directement avoir un code pour le stocker directement dans un emplacement et écraser le même fichier lors de la prochaine exécution. – musicking123

+0

@ musicking123: Vous ne pouvez pas forcer les choses sur l'ordinateur client. Vous pouvez spécifier le nom du fichier et le type MIME mais c'est tout. De là, le navigateur prend le relais et le choix de l'utilisateur sur ce qu'il faut faire avec. – JohnDoDo

Questions connexes