使用Dom4j在指定节点附近插入元素

File file = new File("mmm.xml");
		String fileStr;
		try {
			fileStr = FileUtils.readFileToString(file);
			Document doc = DocumentHelper.parseText(fileStr);
			
			XPath x = doc.createXPath("/CFX/HEAD/MsgID");
			Element rootEle = doc.getRootElement();
			//坐标的ELE元素
			Element valueEle = (Element)x.selectSingleNode(doc);
			System.out.println("ele val:" + valueEle.getText());
			// 新创建的Ele 元素
			Element newEle = DocumentHelper.createElement("Ref");//
			newEle.addText("00000000000");
			
			List<Element> list = valueEle.getParent().content();
			// list.indexOf(valueEle)+1, +1 表示在坐标元素之后; 不+1,则在坐标元素之前
			list.add(list.indexOf(valueEle)+1, newEle);

		    System.out.println(doc.asXML());


<?xml version="1.0" encoding="ISO-8859-1"?><CFX><HEAD><VER>1.0</VER><SRC>303100000006</SRC><DES>100000000000</DES><APP></APP><MsgNo>0001</MsgNo><MsgID>20121024133250707249</MsgID><WorkDate>20121024</WorkDate><Reserve>0</Reserve></HEAD><MSG><SingleCheckBusinessHead0001><BankCode>3550</BankCode><EntrustDate>20121024133250</EntrustDate><BusinessCode>01</BusinessCode><UserCode>902321</UserCode></SingleCheckBusinessHead0001><SingleCheckRequestMessage0001><ID>362401198310031012</ID><Name></Name></SingleCheckRequestMessage0001></MSG></CFX>

你可能感兴趣的:(dom4j)