java以dom4j方式操纵xml


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;

/*java操纵xml格式文件:
 * @src  http://eric-619.iteye.com/blog/693146
 * 需要引入dom4j-1.6.jar文件包
 */
public class Test {
		public static void main(String[] args){
			//createXML();
			//addXML();
			removeXML();
			//selectXML();
			updateXML();
		}
		public static Document createXML(){
			Document document = DocumentHelper.createDocument();
			Element rootElement = document.addElement("books");
			for(int i = 0; i < 10; i++){
				Element bookElement = rootElement.addElement("book");
				Element titleElement = bookElement.addElement("title");
				Element authorElement = bookElement.addElement("author");
				bookElement.addAttribute("id", "00" + i);  // 给一个节点添加属性
				titleElement.setText("标题" + i);   // 给一个节点添加值
				authorElement.setText("作者" + i);
			}
			System.out.println("刚创建好xml后:" + document.asXML());
			return document;
		}
		public static void addXML(){
			Document document = createXML();
			
		}
		public static void removeXML(){ //即通过属性找到该节点后删除该节点
			Document document = createXML();
			Element rootElement = document.getRootElement();  //获得根节点
                        //通过节点的文档对象.selectSingleNode("//对象[@属性名称=属性值"),获得此节点对象
			Node node01 = rootElement.selectSingleNode("//book[@id=004]");
			rootElement.remove(node01);  // 删除整个节点
			System.out.println("删除整个节点"+node01.asXML() + "后的:\n" + document.asXML());
			System.out.println("--------------------------------------------");
		}
		public static void selectXML(){  // 遍历出整个xml文档
			Document document = createXML();
			System.out.println(document.asXML());
		}
		public static void updateXML(){  //即通过属性找到该节点后修改其指定节点的值的内容
			Document document = createXML();
			Element rootElement = document.getRootElement();  // 获得根节点
			// 根据一个节点的属性来查找定位该节点的子节点
			Node node01 = rootElement.selectSingleNode("//book[@id=003]/author"); 
			node01.setText("薛冲");
			System.out.println("更新后的:" + document.asXML());
			System.out.println("--------------------------------------------");
		}
		
}

你可能感兴趣的:(java,xml,Blog)