日志 >
个人日记
![]()
解析xml文件
![]() import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StringReader; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; /** * 提取解析xml后的结果值,外部可以直接使用解析后的结果<br> * Create Date: 2008-2-22 <br> * @version 1.0 22 2 2008 * */ public class XmlReasult { private String sTotalHit = "";// 命中的总数 private HashMap<String, String> mapEryDBHit = new HashMap<String, String>(); private String sTime = "";// 检索所用的时间 private String sHtmlContent = "";// 转化完的html代码内容 private BufferedReader in = null;// 存储xml文件内容的数据流 private String sXmlContent = "";// 存储xml文件内容信息 /** * 以下对initial方法中所使用的变量进行举例说明:<br> * @param sServer:http://192.168.0.238/search1.dhtml <br> * @param sXslFileName:xmlresult.xsl <br> * @param sInputQuery:sQuery=computer&sDbs=de,us&iPage=1&iPageSize=20&sFieldList=PN,TI,PA,AU<br> * @throws Exception */ public void initial(String sServer, String sXslFileName, String sInputQuery)throws Exception { URL url = new URL(sServer); URLConnection connection = url.openConnection(); connection.setDoOutp ![]() PrintWriter out = new PrintWriter(connection.getOutputStream()); out.print(sInputQuery); out.close(); this.in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String sLine = ""; while ((sLine = in.readLine()) != null) { this.sXmlContent = this.sXmlContent + sLine + "/n"; } // SAX解析XML流 begin ParseXML parseXml = new ParseXML(); try { parseXml.parse(sXmlContent); sTotalHit = parseXml.getSTotalHit();// 命中总数 sTime = parseXml.getSTime();// 检索耗时 // 各个数据库中命中的结果信息存储到一个mapEryDBHit中 mapEryDBHit = (HashMap<String, String>) parseXml.getMapEryDBHit(); } catch (Exception e) { e.printStackTrace(); } // // SAX解析XML流后,使用xsl样式表吧把xml文件转化成html代码 this.sHtmlContent = XmlToHtml(sXslFileName, this.sXmlContent); } public String XmlToHtml(String sXslFileName, String sXmlContent) throws Exception { String sHtmlCont = "";// 用于存储临时html代码 String sTemp = "";// 临时变量,用于存取文件中每行的文本文字 String sFileContent = ""; FileInputStream fis = new FileInputStream(sXslFileName); InputStreamReader isr = new InputStreamReader(fis); BufferedReader buf = new BufferedReader(isr); while ((sTemp = buf.readLine()) != null) { // 读取文件内容的每一行合成一个String字符串 sFileContent = sFileContent + sTemp; } // xsl内容字符串转变为字符流 StringReader bosXslSou = new StringReader(sFileContent); // xml内容字符串转变为字符流 StringReader bosXmlSou = new StringReader(sXmlContent); try { TransformerFactory tFactory = TransformerFactory.newInstance(); // 获取xsl的字符流 Transformer transformer = tFactory.newTransformer (new javax.xml.transform.stream.StreamSource(bosXslSou)); ByteArrayOutputStream bosRes = new ByteArrayOutputStream(); transformer.transform(new javax.xml.transform.stream.StreamSource(bosXmlSou), new javax.xml.transform.stream.StreamResult(bosRes)); sHtmlCont = new String(bosRes.toString()); } catch (Exception e) { e.printStackTrace(); } return sHtmlCont.toString();//返回html代码内容 } public HashMap<String, String> getMapEryDBHit() { return mapEryDBHit; } public String getSTotalHit() { return sTotalHit; } public String getSTime() { return sTime; } public String getSResult() { return sHtmlContent; } } ![]() |
评论列表
/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......
共2篇评论,第1页/共1页
批量删除 取消批量删除
共2篇评论,第1页/共1页