Bonjour à tous,
j'essaie d'afficher le xml généré par ma servlet dans le PrintWriter de mon response.getWriter().
mais je bloque sur le stream à utiliser.... le code ci-dessous insère bien dans un fichier, mais comment afficher dans le out (response.getWriter())

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
 
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
 
		response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String localite = request.getParameter("localite").toString();
 
 
		ResultAddress[] results = null;
		try {
			results = client.findAddressByText(localite, null, null, null, null).getResultList();
 
 
		} catch (XServiceException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (XLocateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SystemException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 
 
 
        // Création d'un xml de résultats pour la recherche
       	try
        {
        DocumentBuilderFactory builderFactory = 
        DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
        //creating a new instance of a DOM to build a DOM tree.
        Document doc = docBuilder.newDocument();
		//This method creates an element node
		Element root = doc.createElement("TownSearch");
		//adding a node after the last child node of the specified node.
		doc.appendChild(root);
		Element child = doc.createElement("InputSearch");
		root.appendChild(child);
		Text text = doc.createTextNode(localite);
		child.appendChild(text);
		// les résultats de xLocate
		Element childRes = doc.createElement("TownsList");
		root.appendChild(childRes);
 
		for (int i = 0; i < results.length; i++) {
			Element childTown = doc.createElement("Town");
			childTown.setAttribute("country", results[i].getCountry());
			childTown.setAttribute("countryCapital",results[i].getCountryCapital());			
			childTown.setAttribute("name", results[i].getCity());	
			childTown.setAttribute("cp", results[i].getPostCode());
			childTown.setAttribute("street", results[i].getStreet());
			childTown.setAttribute("x",String.valueOf(results[i].getCoordinates().getPoint().getX()));
			childTown.setAttribute("y",String.valueOf(results[i].getCoordinates().getPoint().getY()));
			childTown.setAttribute("state",results[i].getState());
			childTown.setAttribute("totalScore", Integer.toString(results[i].getTotalScore()));
			childRes.appendChild(childTown);
		}		
 
		//TransformerFactory instance is used to create Transformer objects. 
		TransformerFactory factory = TransformerFactory.newInstance();
		Transformer transformer = factory.newTransformer();
 
		transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 
		// create string from xml tree
		StringWriter sw = new StringWriter();
		StreamResult result = new StreamResult(sw);
		DOMSource source = new DOMSource(doc);
		transformer.transform(source, result);
		String xmlString = sw.toString();
 
		File file = new File("c:/newxml.xml");
		BufferedWriter bw = new BufferedWriter
		(new OutputStreamWriter(new FileOutputStream(file)));
		bw.write(xmlString);
		bw.flush();
		bw.close();                   
        out.println("<b>Xml File Created Successfully</b>");
 
        }
        catch(Exception e)
        {
        System.out.println(e);
        }                
 
	}
chose bête, j'ai essayé de faire un out.println(xmlString)... mais je n'ai en affichage que mon paramètre d'entrée...

un peu d'aide ?