利用dom4j学习xml(二) 添加子节点并查看子节点的属性值
2011-06-09 11:42
399 查看
SAXReader reader = new SAXReader();
Document document;
String path=ServletActionContext.getRequest().getRealPath("/xml");
document = reader.read(path+"/admin/名称.xml");
// 获得根节点以及属性
Element root = document.getRootElement();
// 获得根节点的名字,属性,属性值
for (Iterator iterator = root.attributeIterator(); iterator.hasNext();) {
Attribute attri = (Attribute) iterator.next();
}
if(root.elementIterator().hasNext()==false){//返回为false的话,就向xml文件中添加子节点
business.setBeforeIP("-connect ");
//创建businesses节点,business,update
Element businesses=root.addElement("businesses");
Element business= businesses.addElement("business");
Element update= business.addElement("update");
//设置business中的属性及属性值
business.addAttribute("name","$(appdir)//vnc//winvnc4.exe");
business.addAttribute("actualfile","ver.txt");
business.addAttribute("ver","");
business.addAttribute("md5","19a766f0861dc1fcfa3a8689ea036e95");
business.addAttribute("active","0");
business.addAttribute("parameter","-connect update.51cy.org");
//设置update中的属性及属性值
update.addAttribute("cmd", "$(appdir)//aupc.exe ftp://test:test@update.51cy.org/vnc/1.0.2.1/ver.txt -d $(appdir)//update//vnc");
update.addAttribute("name", "update//vnc//ver.txt");
update.addAttribute("action", "1");
update.addAttribute("actionparam", "$(appdir)//vnc//ver.txt");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer2 = new XMLWriter(new FileWriter(new File(
path+"/admin/"+account+".xml")), format);
writer2.write(document);
writer2.close();
}
//获得根节点的子节点
for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
Element e = (Element) iterator.next();
for (Iterator iter = e.attributeIterator(); iter.hasNext();) {
Attribute attr = (Attribute) iter.next();
}
if(e.getName().equals("businesses")){
//获得当前节点的子节点
for(Iterator iter=e.elementIterator();iter.hasNext();){
Element attribute=(Element)iter.next();
for(Iterator itera=attribute.attributeIterator();itera.hasNext();){
Attribute attri=(Attribute)itera.next();
if(attri.getName().equals("name")){//获得属性name
if(attribute.attributeValue(attri.getName()).equals("$(appdir)//vnc//winvnc4.exe")){
String parameter=attribute.attributeValue("parameter");
beforeIP=parameter.substring(0,9);
business.setBeforeIP(beforeIP);
business.setFileName(account);
String par=parameter.substring(9, parameter.length());
business.setParameter(par);
}
}
}
}
}
}
Document document;
String path=ServletActionContext.getRequest().getRealPath("/xml");
document = reader.read(path+"/admin/名称.xml");
// 获得根节点以及属性
Element root = document.getRootElement();
// 获得根节点的名字,属性,属性值
for (Iterator iterator = root.attributeIterator(); iterator.hasNext();) {
Attribute attri = (Attribute) iterator.next();
}
if(root.elementIterator().hasNext()==false){//返回为false的话,就向xml文件中添加子节点
business.setBeforeIP("-connect ");
//创建businesses节点,business,update
Element businesses=root.addElement("businesses");
Element business= businesses.addElement("business");
Element update= business.addElement("update");
//设置business中的属性及属性值
business.addAttribute("name","$(appdir)//vnc//winvnc4.exe");
business.addAttribute("actualfile","ver.txt");
business.addAttribute("ver","");
business.addAttribute("md5","19a766f0861dc1fcfa3a8689ea036e95");
business.addAttribute("active","0");
business.addAttribute("parameter","-connect update.51cy.org");
//设置update中的属性及属性值
update.addAttribute("cmd", "$(appdir)//aupc.exe ftp://test:test@update.51cy.org/vnc/1.0.2.1/ver.txt -d $(appdir)//update//vnc");
update.addAttribute("name", "update//vnc//ver.txt");
update.addAttribute("action", "1");
update.addAttribute("actionparam", "$(appdir)//vnc//ver.txt");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer2 = new XMLWriter(new FileWriter(new File(
path+"/admin/"+account+".xml")), format);
writer2.write(document);
writer2.close();
}
//获得根节点的子节点
for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
Element e = (Element) iterator.next();
for (Iterator iter = e.attributeIterator(); iter.hasNext();) {
Attribute attr = (Attribute) iter.next();
}
if(e.getName().equals("businesses")){
//获得当前节点的子节点
for(Iterator iter=e.elementIterator();iter.hasNext();){
Element attribute=(Element)iter.next();
for(Iterator itera=attribute.attributeIterator();itera.hasNext();){
Attribute attri=(Attribute)itera.next();
if(attri.getName().equals("name")){//获得属性name
if(attribute.attributeValue(attri.getName()).equals("$(appdir)//vnc//winvnc4.exe")){
String parameter=attribute.attributeValue("parameter");
beforeIP=parameter.substring(0,9);
business.setBeforeIP(beforeIP);
business.setFileName(account);
String par=parameter.substring(9, parameter.length());
business.setParameter(par);
}
}
}
}
}
}
相关文章推荐
- 利用dom4j学习xml(三) 修改子节点的属性值
- pugixml学习笔记3 添加节点
- pugixml库学习之添加节点
- 实现对Xml文档中的指定节点添加 属性和属性值
- pugixml学习笔记3 添加节点
- pugixml库学习之添加节点
- 利用dom4j解析xml文档,自动遍历节点属性
- 如何利用C#在XML 中添加 节点得到如下的格式 插3根鸡毛了
- Dom4j解析XML学习之利用解析的数据进行JDBC操作
- 利用dom4j学习xml(一) 创建xml文件
- Dom4j向XML中指定位置添加、删除、修改节点——(五)
- javaEE学习笔记-利用DOM4J解析xml至数据库
- 创建xml文件,添加节点,读取xml文件中某属性的属性值
- 学习XML(添加一个子节点) 摘录
- 学习XML(添加一个子节点)
- 利用dom4j解析xml文档,自动遍历节点属性
- C#之XML基础 为一个节点添加两个属性值
- C#中为XML节点添加属性(转)
- Xml文档添加节点和属性
- 【JavaEE学习笔记】XML_概述,DOM4J解析器,Pull解析器,DOM4J增删改,xPath