从JSP Write到XML

时间:2012-08-30 11:34:31

标签: java xml jsp

我将使用包含开始日期,结束日期等的JSP来设计前端。最后,我必须将这些内容读入Java对象并将其写为XML文件。我怎么能做到这一点..请帮我解决这个问题。

谢谢, 纳拉

2 个答案:

答案 0 :(得分:1)

你可以使用任何XML Parser来完成。在Jsp页面中获取属性值(开始日期,结束日期等)和使用DOM创建XML api.Below就是一个简单的例子。

    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

    // root elements
    Document doc = docBuilder.newDocument();
    Element rootElement = doc.createElement("company");
    doc.appendChild(rootElement);

    Element startDate= doc.createElement("startDate");
    startDate.appendChild(doc.createTextNode(<your_Value>));
    doc.appendChild(startDate);

    // lastname elements
    Element endtDate= doc.createElement("endtDate");
    endtDate.appendChild(doc.createTextNode(<your_Value>));
    doc.appendChild(endtDate);

   TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    DOMSource source = new DOMSource(doc);
    StreamResult result = new StreamResult(new File("C:\\file.xml"));

    // Output to console for testing
    // StreamResult result = new StreamResult(System.out);

    transformer.transform(source, result);

答案 1 :(得分:1)

您需要在JSP中获取输入并将其传递给Servlet。然后你可以使用XStream写入XML。(我假设你在服务器上编写XML,如果你需要在客户端计算机上编写XML - 只需导入你的JSP头的xstream包并放入JSP中的servlet代码片段

<%@ page import="java.io.*,java.util.*, javax.servlet.*, com.thoughtworks.xstream.XStream" %>
<html>
    <head>
         <title>Handle Current Date & Time</title>
    </head>
    <body>
        <center>
            <h1>Display Current Date & Time</h1>
        </center>
        <%
            Date date = new Date();
            // initialize date from input
            // ...pass the date to the servlet
        %>
    </body>
</html>
servlet代码中的

Date date = /* get the date from the request*/
// then do something like this:
XStream xstream = new XStream();
xstream.alias("date", Date.class);
String xml = xstream.toXML(date);
// write the xml string to the file.