Bonjour,
J'ai crée un fichier xml comportant un annuaire de contact, une page jsp a partir d'un code html, puis j'ai crée une servlet pour traiter les donnée. Je voudrais afficher le contenu du fichier xml sur la page web, j'ai donc parser le fichier xml grâce à un fichier.java mais je ne sais pas comment l'afficher sur la page web.


---------------------------- Servlet --------------------------------
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
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
 
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
 
/**
 * Servlet implementation class TraitementServlet
 */
@WebServlet("/TraitementServlet")
public class TraitementServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TraitementServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 
	/**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/plain");
		PrintWriter pw = response.getWriter(); 
		pw.println("Nom : " + request.getParameter("nom")); 
 
		XMLReader p = null;
		try {
			p = XMLReaderFactory.createXMLReader();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//p.setContentHandler(new Diplome()) ; 
		p.setContentHandler(new Traitements()) ;
		try {
			p.parse("WebContent/annuaire.xml") ;
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 
	}
 
	/**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}
 
}
------------------------ Le parseur -------------------
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
90
91
92
93
94
95
96
97
98
99
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.Format;
import java.util.ArrayList;
import java.util.List;
 
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.Parent;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
import org.xml.sax.ContentHandler;
import org.xml.sax.helpers.DefaultHandler;
 
 
public class Traitements extends DefaultHandler  {
 
	public static void main(String[] args) throws Exception 
	{
		Document document = Traitements.testJdom("WebContent/annuaire.xml");
 
		//enregistreFichier(document,"NEWmonCV.xml");
 
	}
 
 
	public static Document testJdom(String fileName)
	{
 
		XMLOutputter outp = new XMLOutputter();
 
 
	    Document document = null;
 
	    File   file = new File(fileName);
	    SAXBuilder builder = new SAXBuilder();
	    try
	    {
	        document = builder.build(file); 
	        Element root = document.getRootElement();
 
	        System.out.println("<"+root.getName()+">");  // <---------------------- Début Racine
 
	        List<Element> contacts = root.getChildren();
 
	        for (Element p : contacts)
	        {
	        	System.out.println("	<"+p.getName()+">"); // <---------------------- Début Noeud	
 
	        	List<Element> children = p.getChildren();
 
	        	for (Element c : children) 
	        	{
	        		System.out.print("		<"+c.getName()+"> ");
 
	        		if (c.getName().equals("numerosTel")) 
	        		{
	        			List<Element> c2 = new ArrayList<>(c.getChildren());
	        			System.out.println("");
	        			for (Element tel : c2)
	        			{
	        				System.out.print("			<"+tel.getName()+">");
	        				System.out.print(tel.getText());
	        				System.out.println("</"+tel.getName()+">");
	        				System.out.println("		</"+c.getName()+">");
	        			}
	        		}
 
	        		else
	        		{
	        			System.out.print(c.getText());
	        			System.out.println("</"+c.getName()+">");
	        		}
 
 
	        	}
 
	        	System.out.println("	</"+p.getName()+">");
	        	System.out.println("</"+root.getName()+">");
 
	        }
 
	    }
	    catch (JDOMException e) 
	    {
	        System.err.println(e.getMessage());
	    }
	    catch (IOException e) 
	    {
	        System.err.println(e.getMessage());
	    }
 
	    return document;
 
	}	
}