zoukankan      html  css  js  c++  java
  • 【自动化__持续集成】___java___XML__DOM4操作

    一、代码如下

    package com.wujianbo.five;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.List;
    
    import javax.annotation.Generated;
    import javax.swing.text.html.HTMLDocument.Iterator;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    public class Demo11 {
    	String fileName= System.getProperty("user.dir") + "\data\Students.xml";
    	String fileName2= System.getProperty("user.dir") + "\data\Person.xml";
    
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
    		Demo11 demo11= new Demo11();
    		//System.out.println(demo11.fileName);
    		//System.out.println(demo11.fileName2);
    		//demo11.readXml();
    		//demo11.createXml();
    		demo11.deleteXml();
    
    	}
    	
    	//读取文档内容
    	private void readXml() throws Exception {
    		// TODO Auto-generated method stub
    		SAXReader sr= new SAXReader();
    		org.dom4j.Document doc= sr.read(new File(fileName));
    		//System.out.println(doc);
    		List nameList= doc.selectNodes("/class/student/name");
    		List ageList= doc.selectNodes("/class/student/age");
    		List sexList= doc.selectNodes("/class/student/sex");
    		//System.out.println(nameList);
    		for(int i=0; i<nameList.size(); i++) {
    			String name= ((Element)nameList.get(i)).getTextTrim();
    			System.out.print("name=" + name);
    			String age= ((Element)ageList.get(i)).getTextTrim();
    			System.out.print("age=" + age);
    			String sex= ((Element)sexList.get(i)).getTextTrim();
    			System.out.println("sex=" + sex);
    			System.out.println("==================");
    		}
    		
    	}
    	
    	//新建xml,并写入内容
    	private void createXml() throws Exception {
    		// TODO Auto-generated method stub
    		Element root= DocumentHelper.createElement("Person");
    		Document doc= DocumentHelper.createDocument(root);
    		
    		root.addAttribute("学校", "南大").addAttribute("位置", "江西");
    		
    		Element element1= root.addElement("学生");
    		element1.addElement("姓名").addAttribute("婚姻", "单身").addText("小章");
    		element1.addElement("年龄").addText("21");
    		
    		Element element2= root.addElement("学生");
    		element2.addElement("姓名").addAttribute("婚姻", "单身").addText("小红").addElement("爱好").addText("唱歌");
    		element2.addElement("年龄").addText("22");
    		
    		OutputFormat format= new OutputFormat(" ", true);
    		format.setEncoding("UTF-8");
    		XMLWriter xmlWriter= new XMLWriter(new FileOutputStream(fileName2), format);
    		xmlWriter.write(doc);
    		xmlWriter.close();
    	}
    	
    	//修改xml文件
    	private void modifyXml() throws Exception {
    		// TODO Auto-generated method stub
    		String name= "何国学";
    		String key= "degree";
    		String value= "研究生";
    		SAXReader sr= new SAXReader();
    		org.dom4j.Document doc= sr.read(new File(fileName));
    		List namelist= doc.selectNodes("/class/students/name");
    		java.util.Iterator iterator= namelist.iterator();
    		
    		while(iterator.hasNext()) {
    			Element element= (Element)iterator.next();
    			if(name!=null && name.equals(element.getText())) {
    				Element pe= element.getParent();
    				List childList= pe.elements();
    				for(int i=0; i<childList.size(); i++) {
    					String nodeName= ((Element)childList.get(i)).getName();
    					if(key!=null && key.equals(nodeName) ) {
    						((Element)childList.get(i)).setText(value);
    					}
    				}
    				
    			}
    		}
    		
    		OutputFormat format= new OutputFormat(" ", true);
    		format.setEncoding("UTF-8");
    		XMLWriter xmlWriter= new XMLWriter(new FileOutputStream(fileName), format);
    		xmlWriter.write(doc);
    		xmlWriter.close();
    	}
    	
    	//删除后修改指定节点
    	private void deleteXml() throws Exception {
    		// TODO Auto-generated method stub
    		SAXReader sr= new SAXReader();
    		Document doc= sr.read(new File(fileName2));
    		System.out.println(doc);
    
    	}
    	
    
    }
    
  • 相关阅读:
    使用exe4j将java项目打成exe执行程序
    使用exe4j将java项目打成exe执行程序
    使用exe4j将java项目打成exe执行程序
    使用exe4j将java项目打成exe执行程序
    Java 数组 之 二维数组
    Java 数组 之 二维数组
    自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/7492273.html
Copyright © 2011-2022 走看看