CheckXpathOperation.jsp
1.75 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/templetecheck/filecheck/CheckUserIsSysadmin.jsp" %>
<%@ page import="org.dom4j.*" %>
<%@ page import="org.dom4j.io.*"%>
<%@ page import="net.sf.json.JSONObject" %>
<%@ page import="org.json.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="weaver.templetecheck.IgnoreDTDEntityResolver" %>
<%
String content = request.getParameter("contentarea");
String xpath = request.getParameter("xpath");
//System.out.println("content:"+content);
JSONObject object = new JSONObject();
try {
//部分元素根据xpath查询失败 好像是有不符合什么规范 改成SAXReader来初始化成document
SAXReader saxReader = new SAXReader();
saxReader.setEntityResolver(new IgnoreDTDEntityResolver()); // ignore dtd
Document document = saxReader.read(new ByteArrayInputStream(content.getBytes("UTF-8")));
//Document document = DocumentHelper.parseText(content);
//System.out.println("content:"+document.asXML());
//System.out.println("xpath:"+xpath);
List elements = document.selectNodes(xpath);
for(int i= 0; i < elements.size(); i++) {
//System.out.println("elements.size():"+elements.size());
Element ele = (Element)elements.get(i);
object.put(""+i,ele.asXML());
}
out.print(object.toString());
} catch(DocumentException e) {
e.printStackTrace();
object.put("status","error1");
out.print(object.toString());
} catch(InvalidXPathException e) {
e.printStackTrace();
object.put("status","error2");
out.print(object.toString());
} catch(XPathException e) {
e.printStackTrace();
object.put("status","error2");
out.print(object.toString());
} catch(Exception e) {
e.printStackTrace();
object.put("status","error");
out.print(object.toString());
}
return;
%>