创建 和解析xml
来源:互联网 发布:携程亲子园虐童 知乎 编辑:程序博客网 时间:2024/05/21 07:07
需要的包 cobra.jar js.jar
private boolean creareJsp(String jspName,String title,boolean isYDYW,String yuanwen,String zhengwen,String topImg,Date date){
String savePath = ServletActionContext.getServletContext().getRealPath("/");
String path = topImg.substring(topImg.indexOf("/", 1));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateFormat = sdf.format(date);
String filePath = ServletActionContext.getServletContext().getRealPath("wxpage") + "/" + jspName;
OutputStreamWriter fw = null;
try {
fw = new OutputStreamWriter(new FileOutputStream(filePath),"UTF-8");
StringBuffer sb = new StringBuffer();
// sb.append("<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n");
sb.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n");
sb.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n");
sb.append("<head>\r\n");
sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n");
sb.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;\" />\r\n");
sb.append("<meta name=\"format-detection\" content=\"telephone=no\" />\r\n");
sb.append("<title>").append(title).append("</title>\r\n");
//sb.append("<link href=\"css/use.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n");
sb.append("<style type=\"text/css\">\r\n");
sb.append("<!--\r\n");
sb.append("#biaoti {\r\n");
sb.append("width:70%;\r\n");
sb.append("max-width:540px;\r\n");
sb.append("font-family: \"微软雅黑\";\r\n");
sb.append("font-size:20px;\r\n");
sb.append("text-align:left;\r\n");
sb.append("padding-top:5px;\r\n");
sb.append("}\r\n");
sb.append("#riqi{\r\n");
sb.append("width:70%;\r\n");
sb.append("max-width:540px;\r\n");
sb.append("font-family: \"微软雅黑\";\r\n");
sb.append("font-size:12px;\r\n");
sb.append("text-align:left;\r\n");
sb.append("padding-top:5px;\r\n");
sb.append("color:#CCC;\r\n");
sb.append("height:10px;\r\n");
sb.append("}\r\n");
sb.append("a:link {\r\n");
sb.append("font-size:13px;\r\n");
sb.append("text-decoration:none;\r\n");
sb.append("font-family: \"微软雅黑\";\r\n");
sb.append("color:#667B99;\r\n");
sb.append("}\r\n");
sb.append("a:hover {\r\n");
sb.append("font-size:13px;\r\n");
sb.append("color:#667B99;\r\n");
sb.append("text-decoration:underline;\r\n");
sb.append("}\r\n");
sb.append("-->\r\n");
sb.append("</style>\r\n");
sb.append("</head>\r\n");
sb.append("<body leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" bgcolor=\"#FFFFFF\" style=\"padding:10px 10px 2px 10px;\">\r\n");
sb.append("<div class=\"biaoti\" id=\"biaoti\">").append(title).append("</div>\r\n");
sb.append("<div class=\"riqi\" id=\"riqi\">").append(dateFormat).append("</div>\r\n");
BufferedImage sourceImg = ImageIO.read(new FileInputStream(savePath+path));
if(sourceImg.getWidth()>600){
sb.append("<p><img alt=\"\" src=\"").append(topImg).append("\" style=\"width:100%;max-width:640px;\" /></p>");
}else{
sb.append("<p><img alt=\"\" src=\"").append(topImg).append("\" style=\"width:100%;max-width:" + sourceImg.getWidth() + "px;\"/></p>");
}
zhengwen = parseHtml(zhengwen);
sb.append(zhengwen);
if(isYDYW){
sb.append("<p><a href=\"").append(yuanwen).append("\"").append(">").append("阅读原文</a></p>");
}
sb.append("</body>\r\n");
sb.append("</html>");
fw.write(sb.toString());
} catch (Exception e) {
logger.error("生成jsp失败", e);
return false;
} finally {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// boolean result = copeFile(filePath);
return true;
}
private String parseHtml(String htmlcontent) throws SAXException, IOException{
Reader reader = new StringReader(htmlcontent);
InputSourceImpl inputSource = new InputSourceImpl(reader,
"");
UserAgentContext uacontext = new SimpleUserAgentContext();
DocumentBuilderImpl builder = new DocumentBuilderImpl(uacontext);
Document d = builder.parse(inputSource);
HTMLDocumentImpl document = (HTMLDocumentImpl) d;
NodeList nl=document.getElementsByTagName("img");
for (int i = 0; i < nl.getLength(); i++) {
HTMLImageElement img=(HTMLImageElement) nl.item(i);
if(img.hasAttribute("width")){
img.removeAttribute("width");
}
String savePath = ServletActionContext.getServletContext().getRealPath("/");
String path = img.getSrc().substring(img.getSrc().indexOf("/", 1));
BufferedImage sourceImg = ImageIO.read(new FileInputStream(savePath + path));
if(sourceImg.getWidth()>600){
img.setAttribute("style", "width:100%;max-width:640px;");
}else{
img.setAttribute("style", "width:100%;max-width:" + sourceImg.getWidth() + "px;");
}
}
return document.getInnerHTML();
}
- 创建和解析XML
- 创建 和解析xml
- Dom4j创建和解析XML
- xml的创建和解析
- C# XML创建和解析
- dom4j创建和解析xml
- python创建和解析XML
- 利用dom4j创建XML和解析XML
- 利用dom4j创建XML和解析XML
- Dom4J解析XML和创建XML文件
- dom4J创建xml和解析xml文件
- MsXml创建和解析XML示例
- 使用JDOM创建和解析XML文件
- Jdom操作、创建和解析XML
- iOS 用GDataXMLNode创建和解析XML
- dom4j创建和解析Xml例子
- java jdom解析和创建xml
- iOS 用GDataXMLNode创建和解析XML
- (Jquery功能篇) JqGrid表单控件实例代码
- 【pig】pig的vim高亮设置
- Android之解决Mediaplayer播放网络音频缓冲太慢的问题
- EOSS V3.0 企业运营支撑系统(基于RBAC原理的权限管理)
- html入门之—一天快速掌握
- 创建 和解析xml
- Andorid的LK学习
- android中的目录layout、res\anim、res\xml、res\raw,
- 编译和使用 MySQL C++ Connector
- 在fragment跳转到activity是出现onSaveInstanceState空指针的解决方法
- 【SQL】MySQL之使用mysqlbinlog进行增量备份及恢复详解
- hdu-1808-Halloween treats
- C#实现excel导入到sql server 2008(.net版)
- Top K算法详细解析---百度面试