« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 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 | | | | | | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称: 日志总数:10 评论数量:25 留言数量:0 访问次数:89392 建立时间:2005年3月7日 |

| |
[xml]xml模板语言xsl应用列 文章收藏, 电脑与网络
guan1200 发表于 2005/4/13 16:59:33 |
1.ie6.0 firfox1.0以上使用xsl 在客服端处理,
(有关xsl应用的其他信息,请参阅用xsl作为模板语言。) 在java中创建xml文档字符串的xml工具类: public class XmlUtil { public static void main(String[] args) { System.out.print(XmlUtil.beginDocument("join")); System.out.println(XmlUtil.endDocument("join")); } /** * @param stylesheet * @param root * @return */ public static String beginDocument(String stylesheet, String root) { StringBuffer xml = new StringBuffer( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\""); return xml .append(stylesheet) .append( "\"?>\n\n<!-- edited with (http://www.myige.com) by guan xiang huang (Hong.co) -->\n\n<") .append(root).append(">\n").toString(); } /** * @param root * @return */ public static String beginDocument(String root) { StringBuffer xml = new StringBuffer( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); return xml .append( "\n<!-- edited with (http://www.myige.com) by guan xiang huang (Hong.co) -->\n\n<") .append(root).append(">\n").toString(); } /** * @param root * @return */ public static String endDocument(String root) { StringBuffer xml = new StringBuffer(); return xml.append("</").append(root).append(">").toString(); }}在servlet中使用response.setContentType("text/xml;chartset=UTF-8");StringBuffer xml = new StringBuffer(XmlUtil.beginDocument("login","login.xsl")); String url = request.getHeader("referer"); xml.append("\t<code>").append(request.getSession().getId()).append( "</code>\n\t<url>").append(url).append("</url>\n"); xml.append(XmlUtil.endDocument("login"));response.getWrite( xml),服务器端 servlet调用解析引擎,从xml文件和静态的xsl样式表中创建html输出。public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); StringBuffer xml = new StringBuffer(XmlUtil.beginDocument("login")); String url = request.getHeader("referer"); xml.append("\t<code>").append(request.getSession().getId()).append( "</code>\n\t<url>").append(url).append("</url>\n"); xml.append(XmlUtil.endDocument("login")); try { TransformerFactory factory = TransformerFactory.newInstance();//templates 使用templates;可以加快xsl文件处理速度 Templates templates = factory.newTemplates(new StreamSource( new File(getServletContext().getRealPath("/") + "xsl/login.xsl"))); Transformer transformer = templates.newTransformer();//不使用templates; //Transformer transformer = factory.newTransformer(new StreamSource(new File(getServletContext().getRealPath("/")+"xsl/login.xsl"))); transformer.transform(new StreamSource(new StringReader(xml .toString())), new StreamResult(response.getWriter())); } catch (Exception e) { e.printStackTrace(); } } |
|
|