Java Tutorial/JSP/XML Transform

Материал из Java эксперт
Перейти к: навигация, поиск

JSTL XML Transform

students.xml



   <source lang="java">

<?xml version="1.0" encoding="ISO-8859-1"?> <students>

  <student id="1">
     <name>
        <first>A</first>
        <last>B</last>
        <middle>T</middle>
     </name>
     <grade>
        <points>88</points>
        <letter>B</letter>
     </grade>
  </student>
  <student id="2">
     <name>
        <first>C</first>
        <last>D</last>
        <middle>K</middle>
     </name>
     <grade>
        <points>92</points>
        <letter>A</letter>
     </grade>
  </student>
  <student id="3">
     <name>
        <first>E</first>
        <last>F</last>
        <middle>A</middle>
     </name>
     <grade>
        <points>72</points>
        <letter>C</letter>
     </grade>
  </student>
  

</students></source>





Performing XSL Transformations

   <source lang="java">

<%@ page language="java" contentType="text/html" %> <%@ page pageEncoding="UTF-8"%> <%@ page import="javax.xml.transform.*"%> <%@ page import="javax.xml.transform.stream.*"%> <html>

 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>Customer Orders</title>
 </head>
 <body>

Customer Orders

     <%! String FS = System.getProperty("file.separator"); %>
       <%
       String xmlFile = request.getParameter("XML");
       String xslFile = request.getParameter("XSL");
       String ctx = getServletContext().getRealPath("") + FS;
       xslFile = ctx + xslFile;
       xmlFile = ctx + xmlFile;
       TransformerFactory tFactory =
         TransformerFactory.newInstance();
       Transformer transformer =
         tFactory.newTransformer(new StreamSource(xslFile));
       transformer.transform(
         new StreamSource(xmlFile), new StreamResult(out));
       %>
   </body>

</html></source>





XML transformation

   <source lang="java">

<%@ page import="javax.xml.transform.*, javax.xml.transform.stream.*, java.io.*" %> <%

   try 
   {  
       TransformerFactory transformerfactory = TransformerFactory.newInstance(); 
       Transformer transformer = transformerfactory.newTransformer(new StreamSource(new File    
           (application.getRealPath("/") + "your.xsl")));
       transformer.transform(new StreamSource(new File(application.getRealPath("/") + "your.xml")), 
       new StreamResult(new File(application.getRealPath("/") + "your.html")));
   }
   catch(Exception e) {}  
   FileReader filereader = new FileReader(application.getRealPath("/") + "your.html");
   BufferedReader bufferedreader = new BufferedReader(filereader);
   String instring;
   while((instring = bufferedreader.readLine()) != null) { 

%>

       <%= instring %>

<%

       }
       filereader.close();

%></source>