📄 wzxml.java
字号:
package org.eclipse.rcp.browser;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class WzXml {
private RootWjj rootWjj;
private WjjEntity wjjEntity;
private WzEntity wzEntity;
// private List wjjEntiys;
// private List wzEntitys;
// private String RootName,wjjName,wzName,htt;
//
//
// public String getRootName() {
// return RootName;
// }
// public void setRootName(String rootName) {
// RootName = rootName;
// }
// public String getHtt() {
// return htt;
// }
// public void setHtt(String htt) {
// this.htt = htt;
// }
//
// public String getWjjName() {
// return wjjName;
// }
// public void setWjjName(String wjjName) {
// this.wjjName = wjjName;
// }
// public String getWzName() {
// return wzName;
// }
// public void setWzName(String wzName) {
// this.wzName = wzName;
// }
public WzXml() {
}
public void LoadRootXML(String path) throws Exception {
rootWjj = new RootWjj();
// WzXml xml=new WzXml();
FileInputStream fi = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
rootWjj.setName(root.getName());
// xml.setRootName(root.getName());
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
List wzs = null;
Element wjj = null;
Element zhandian = null;
// System.out.println(xml.getRootName());
List wjjEntiys = new ArrayList();
for (int i = 0; i < wjjs.size(); i++) {
// System.out.println("............");
wjj = (Element) wjjs.get(i); // 得到第一文件夹元素
wjjEntity = new WjjEntity();
wjjEntity.setName(wjj.getAttributeValue("name"));
wzs = wjj.getChildren();
// xml.setWjjName(wjj.getAttributeValue("name"));
// System.out.println("文件夹:"+xml.getWjjName());
List wzEntitys = new ArrayList();
for (int j = 0; j < wzs.size(); j++) {
zhandian = (Element) wzs.get(j);
// xml.setWzName(zhandian.getAttributeValue("name"));
// xml.setHtt(zhandian.getText());
// System.out.println("站点名:"+xml.getWzName());
// System.out.println("网站名:"+xml.getHtt());
wzEntity = new WzEntity(zhandian.getAttributeValue("name"),
zhandian.getText(),wjjEntity);
wzEntitys.add(wzEntity);
}
wjjEntity.setChildren(wzEntitys);
wjjEntiys.add(wjjEntity);
}
rootWjj.setChildren(wjjEntiys);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 查找XML文件里面的文件夹name项指定信息
*/
public static int FindWjjXml(String path, String name) {
WzXml xml = new WzXml();
try {
xml.LoadRootXML(path);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
int i = 0;
for (Iterator it = xml.rootWjj.getChildren().iterator(); it.hasNext(); i++) {
WjjEntity wjjEntity = (WjjEntity) it.next();
if (wjjEntity.getName().equals(name)) {
return i;
}
}
return -1;
}
/**
* 查找XML文件里面的站点name项指定信息
*/
public static int FindWzXml(String path, String name) {
WzXml xml = new WzXml();
try {
xml.LoadRootXML(path);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
int i=0;
int j = 0;
for (Iterator it = xml.rootWjj.getChildren().iterator(); it.hasNext();i++) {
WjjEntity wjjEntity = (WjjEntity) it.next();
for (Iterator itt = wjjEntity.getChildren().iterator(); itt
.hasNext(); j++) {
WzEntity wzEntity = (WzEntity) itt.next();
if (wzEntity.getName().equals(name)) {
return j;
}
}
}
return -1;
}
/**
* 查找XML文件里面的站点name项指定信息的父级名字
*/
public static String FindFartherWzXml(String path, String name) {
WzXml xml = new WzXml();
try {
xml.LoadRootXML(path);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
int i=0;
int j = 0;
for (Iterator it = xml.rootWjj.getChildren().iterator(); it.hasNext();i++) {
WjjEntity wjjEntity = (WjjEntity) it.next();
for (Iterator itt = wjjEntity.getChildren().iterator(); itt
.hasNext(); j++) {
WzEntity wzEntity = (WzEntity) itt.next();
if (wzEntity.getName().equals(name)) {
return wjjEntity.getName();
}
}
}
return "";
}
/**
* 添加XML文件文件夹项指定信息
*/
public static void AddWjjXML(String path,WjjEntity wjjEntity) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
String name=wjjEntity.getName();
Element wjj = new Element("文件夹");
wjj.setAttribute(new Attribute("name",name));
wjjs.add(wjj);// 增加子元素
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 添加XML文件站点项指定信息
*/
public static void AddWzXML(String path,String wjjName,WzEntity wzEntity) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
WzXml xml=new WzXml();
xml.LoadRootXML(path);
int findWjj=WzXml.FindWjjXml(path,wjjName);
Element wjj=(Element) wjjs.get(findWjj);
List wzs=wjj.getChildren();
Element wz = new Element("站点");
wz.setAttribute(new Attribute("name",wzEntity.getName()));
wz.addContent(wzEntity.getPath());
wzs.add(wz);// 增加子元素
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 修改XML文件文件夹项指定信息
*/
public static void editWjjXML(String path,String wjjName,String newName) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
WzXml xml=new WzXml();
xml.LoadRootXML(path);
int findWjj=WzXml.FindWjjXml(path,wjjName);
Element wjj = (Element) wjjs.get(findWjj);
wjj.setAttribute(new Attribute("name",newName));
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 修改XML文件站点名wzName项修改为指定信息newWzEntity
*/
public static void editWzXML(String path,String wzName,WzEntity newWzEntity) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
WzXml xml=new WzXml();
xml.LoadRootXML(path);
int findWjj=WzXml.FindWzXml(path,wzName);
List wzs=null;
Element wjj=null;
Element zhandian=null;
//找到编号为findWjj的站点修改之
int j=0;
for(Iterator it=wjjs.iterator();it.hasNext();){
wjj=(Element) it.next();
wzs=wjj.getChildren();
for(Iterator itt=wzs.iterator();itt.hasNext();j++){
zhandian=(Element) itt.next();
if(j==findWjj){
zhandian.setAttribute(new Attribute("name",newWzEntity.getName()));
zhandian.setText(newWzEntity.getPath());
}
}
}
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 删除XML文件文件夹项指定信息
*/
public static void delWjjXML(String path,String wjjName) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
WzXml xml=new WzXml();
xml.LoadRootXML(path);
int findWjj=WzXml.FindWjjXml(path,wjjName);
wjjs.remove(findWjj);
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 删除XML文件站点名wzName项指定信息
*/
public static void delWzXML(String path,String wzName) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List wjjs = root.getChildren(); // 得到根元素所有子元素的集合
WzXml xml=new WzXml();
xml.LoadRootXML(path);
int findWjj=WzXml.FindWzXml(path,wzName);
List wzs=null;
Element wjj=null;
Element zhandian=null;
//找到编号为findWjj的站点修改之
int j=0;
for(Iterator it=wjjs.iterator();it.hasNext();){
wjj=(Element) it.next();
wzs=wjj.getChildren();
for(Iterator itt=wzs.iterator();itt.hasNext();j++){
zhandian=(Element) itt.next();
if(j==findWjj){
wzs.remove(zhandian);
j++;//这里曾出现过删除bug.多删后面的一些项
break;
}
}
}
XMLOutputter outp = new XMLOutputter();
fo = new FileOutputStream(path);
outp.output(doc, fo);
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public RootWjj getRootWjj() {
return rootWjj;
}
public void setRootWjj(RootWjj rootWjj) {
this.rootWjj = rootWjj;
}
public WjjEntity getWjjEntity() {
return wjjEntity;
}
public void setWjjEntity(WjjEntity wjjEntity) {
this.wjjEntity = wjjEntity;
}
public WzEntity getWzEntity() {
return wzEntity;
}
public void setWzEntity(WzEntity wzEntity) {
this.wzEntity = wzEntity;
}
// public static void main(String[] args) {
// String path = "./WWWroot.xml";
// // 读出xml..........................
// WzXml xml = new WzXml();
// try {
// xml.LoadRootXML(path);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
// // 用对象调试的方法
// System.out.println("" + xml.rootWjj.getName());
// for (Iterator it = xml.rootWjj.getChildren().iterator(); it.hasNext();) {
// System.out.println("..................");
// WjjEntity wjjEntity = (WjjEntity) it.next();
// System.out.println("文件夹:" + wjjEntity.getName());
// for (Iterator itt = wjjEntity.getChildren().iterator(); itt
// .hasNext();) {
// WzEntity wzEntity = (WzEntity) itt.next();
// System.out.println("站点名:" + wzEntity.getName());
// System.out.println("网站名:" + wzEntity.getPath());
// }
// }
// 查找name为"Blog"的文件夹
// String name = "Blog";
// int findWjj = xml.FindWjjXml(path, name);
// System.out.println(findWjj);
//查找name为"陈勇的BLOG"网站
// String name1="陈勇的BLOG";
// int findWz=xml.FindWzXml(path,name1);
// System.out.println(findWz);
//增加一文件夹
// WjjEntity wjjEntity=new WjjEntity();
//
// wjjEntity.setName("XML");
// wjjEntity.setChildren(null);
// try {
// WzXml.AddWjjXML(path,wjjEntity);
//
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
//加一站点
// String name2="娱乐";
// WzEntity wzEntiry=new WzEntity("Flash3","http://www.flash3.com");
// try {
// WzXml.AddWzXML(path,name2,wzEntiry);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
//改一文件夹
// String wjjName="XML";
// String newName="修改";
// try {
// WzXml.editWjjXML(path,wjjName,newName);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
//修改一站点名及内容
// String wzName="Flash";
// WzEntity wz=new WzEntity("Flashbox","http://www.flashbox.com");
// try {
// WzXml.editWzXML(path,wzName,wz);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
//删除一文件夹及子项内容
// String delName="XML";
// try {
// WzXml.delWjjXML(path,delName);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
//删除一站点内容
// String delName="Flash1";
// try {
// WzXml.delWzXML(path,delName);
// } catch (Exception e) {
// // TODO 自动生成 catch 块
// e.printStackTrace();
// }
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -