public synchronized static List<BlogXMLBean> ReadBlogList(){
List<BlogXMLBean> list = new ArrayList<BlogXMLBean>();
try {
String filepath = "";
if ("".equals(SystemVariable.APP_PATH)) {
filepath = SystemVariable.APP_PATH
+ "/WebRoot/WEB-INF/ClickReply/blog.xml";
} else {
filepath = SystemVariable.APP_PATH
+ "\\WEB-INF\\ClickReply\\blog.xml";
}
File f = new File(filepath);
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element listElement = root.element("blogXMLBeanList");
Element foo;
for (Iterator i = listElement.elementIterator("blogXMLBean"); i.hasNext();){
foo = (Element) i.next();
BlogXMLBean bean = new BlogXMLBean();
bean.setInitURL(foo.elementText("initURL"));
bean.setIsFrame(Boolean.valueOf(foo.elementText("isFrame")));
bean.setIsJavaScript(Boolean.valueOf(foo.elementText("isJavaScript")));
bean.setClickRegex(foo.elementText("clickRegex"));
bean.setClickReplyRegex(foo.elementText("clickReplyRegex"));
bean.setIsCombination(Boolean.valueOf(foo.elementText("isCombination")));
bean.setReplyRegex(foo.elementText("replyRegex"));
bean.setSiteName(foo.elementText("siteName"));
list.add(bean);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public synchronized static void WriteNewsIndexConfig(List<NewsXMLBean> newsList){
try{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
Element root = doc.createElement("NewsXMLBeanRoot");
for(int i=0;i<newsList.size();i++){
NewsXMLBean newsXMLBean = newsList.get(i);
Element bean = doc.createElement("NewsXMLBean");
Element siteName = doc.createElement("siteName");
siteName.setTextContent(newsXMLBean.getSiteName()+"");
bean.appendChild(siteName);
Element initURL = doc.createElement("initURL");
initURL.setTextContent(newsXMLBean.getInitURL()+"");
bean.appendChild(initURL);
Element fileName = doc.createElement("fileName");
fileName.setTextContent(newsXMLBean.getFileName()+"");
bean.appendChild(fileName);
root.appendChild(bean);
}
doc.appendChild(root);
String filename = "";
if ("".equals(SystemVariable.APP_PATH)) {
filename = SystemVariable.APP_PATH
+ "/WebRoot/WEB-INF/ClickReply/newsIndexConfig.xml";
} else {
filename = SystemVariable.APP_PATH
+ "\\WEB-INF\\ClickReply\\newsIndexConfig.xml";
}
// 下面的方法是写xml到.xml的文档
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();// 此实例可以用于处理来自不同源的
// XML,并将转换输出写入各种接收器。
DOMSource source = new DOMSource(doc);// 创建带有 DOM 节点的新输入源
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");// 设置转换中实际的输出属性
transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置转换中实际的输出属性
OutputStreamWriter pw = new OutputStreamWriter(new FileOutputStream(filename), "utf-8");
StreamResult result = new StreamResult(pw);// 从字节流构造 StreamResult
// 充当转换结果的持有者,可以为
// XML、纯文本、HTML 或某些其他格式的标记
transformer.transform(source, result);// 将 XML Source 转换为 Result
}catch (Exception e) {
// TODO: handle exception
}
}