日志 >
个人日记
将xml文件按照xsl文件样式快速生成html文件的方法
package com.shzscq.searchpatent.parser;
import java.io.File; import java.util.Properties; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; /** * 使用JAXP根据XSL转换XML文档 * JAXP是Java API for XML Processing的英文字头缩写, * 中文含义是:用于XML文档处理的使用Java语言编写的编程接口。 * JAXP支持DOM、SAX、XSLT等标准。 */ public class JAXPTransform { /** * 使用XSLT将XML文档转换成HTML * @param xmlFileName 源XML文件名 * @param xslFileName XSL文件名 * @param htmlFileName 输出的HTML文件名 * @return 返回HTML文件名 */ public static String xml_xslt_html(String xmlFileName, String xslFileName, String htmlFileName)throws Exception{ // 创建XSLT引擎的工厂 TransformerFactory tFactory = TransformerFactory.newInstance(); // 创建XSLT引擎要使用的XSL文件源 StreamSource source = new StreamSource(new File(xslFileName)); // 创建XSLT引擎 Transformer tx = tFactory.newTransformer(source); // 设置XSLT引擎的输出属性,使之输出为HTML格式,并且支持中文。 Properties properties = tx.getOutputProperties(); properties.setProperty(OutputKeys.ENCODING,"GB2312"); properties.setProperty(OutputKeys.METHOD, "html"); tx.setOutputProperties(properties); // 创建XML文件源和HTML文件的结果流 StreamSource xmlSource = new StreamSource(new File(xmlFileName)); File targetFile = new File(htmlFileName); StreamResult result = new StreamResult(targetFile); // 实现XSLT转换,根据XSL文件源将XML文件源转换成HTML结果流 tx.transform(xmlSource, result); return targetFile.getAbsolutePath(); } public static void main(String[] args) throws Exception { String xmlFileName = "D://Users//honghong1//workspace//SearchPatentNew//WebRoot//search//searchData.xsl"; String xslFileName = "D://Users//honghong1//workspace//SearchPatentNew//WebRoot//search//searchData.xml"; String targetFileName = "C://Users//honghong//Desktop//searchData.html"; JAXPTransform.xml_xslt_html(xmlFileName, xslFileName, targetFileName); } } |
评论列表
/x02").replace(//[//quote/]/g,"/x01"); for(var i=0;i<2;i++) s=s.replace(//x03([^/x03/x01/x02]*?)/x02([^/x03/x01/x02]*?)/x01/g, function(a,b,c){ return '
'+b+'引用内容:'; }); return s.replace(/[/x03/x02/x01]/g,""); } var bLoaded = false; function checkMsgReply(obj) { if(!bLoaded) top.includeJS('/qzone/blog/script/common.js', function(){bLoaded=true;checkMsgReply(obj)}, document); else checkReply(obj); if(obj.checked){ MAX_COMMENT_LEN = 500; } else { MAX_COMMENT_LEN = 4500; } _fontCount = MAX_COMMENT_LEN; //字数限制 if(!window.sendCommentEditor) return; if(sendCommentEditor.editorArea.editMode == 1) toCountFont(sendCommentEditor.id, "html"); else toCountFont(sendCommentEditor.id, "text"); } function showMsgLeftCnt() { if(!bLoaded) top.includeJS('/qzone/blog/script/common.js', function(){bLoaded=true;showMsgLeftCnt();}, document); else showLeftSMS(); } function selectBlogPaper() { if(checkLogin() <= 10000) { top.showLoginBox("mall"); return; } if(!!top.g_JData["blogContent"]) { if(parent.g_iLoginUin == parent.g_iUin) { location.href="/qzone/newblog/blogeditor.html?paperid=" + parent.g_JData["blogContent"].data.lp_id + "&paperstyle=" + parent.g_JData["blogContent"].data.lp_style + "&paperdialog=1"; } else { parent.location.href="http://user.qzone.qq.com/" + parent.g_iLoginUin + "/addNewBlog?paperid=" + parent.g_JData["blogContent"].data.lp_id + "&paperstyle=" + parent.g_JData["blogContent"].data.lp_style; } } else { top.showMsgBox("抱歉,暂时无法获取该信纸信息!", 1, 2000); } } /** * 批量删除中选择全选 */ function selectAllComments(bChecked) { var oList = document.getElementsByName("commentCheckBox"); if(oList.length==0) return; for(var i=0; i 0){ dalert(null, parent.g_XDoc["delBatchReply"].xml, 2000); delete parent.g_XDoc["delBatchReply"]; return; } dalert(null, parent.g_XDoc["delBatchReply"].xml, 2000, 2); contentProperty.totalCommentNumber -= nDeleteCnt; //清理cache with(contentProperty){ delete parent.g_XDoc["blogRoot"].contentHSList[currentBlogid]; pageList = {}; pageIndexMap = []; currentCommentPage = lastCommentPage = (!contentProperty.nowaPage)?0:nowaPage[3]; parent.g_XDoc["blogRoot"].replyNumUpdateHSmap[currentBlogid] = totalCommentNumber; parent.isRefreshTop = true; if(currentCommentPage == 0) { setTimeout(contentInit, 1000); } else{ var tp = Math.ceil(totalCommentNumber/PAGE_COMMENT_NUM); var num = totalCommentNumber%PAGE_COMMENT_NUM; if(num==0 || currentCommentPage10000 && top.g_iLoginUin!=top.g_iUin) { $("msgboardSelfReply").style.display = ""; $("blogSelPaper").title = "我也要使用此信纸写日志"; } setTimeout(contentInit,50); //]]> </script>'+c+'
loading......
共1篇评论,第1页/共1页
批量删除 取消批量删除
好方法,送花
共1篇评论,第1页/共1页