【自动化__持续集成】___java___XML__DOM改

一、代码如下

package com.wujianbo.five;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Deom10 {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Deom10 deom10= new Deom10();
		deom10.modifyXmlByDom();

	}
	
	private void modifyXmlByDom() throws Exception {
		// TODO Auto-generated method stub
		DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();
		dbf.setIgnoringElementContentWhitespace(true);
		String xmlName= System.getProperty("user.dir") + "\\data\\Students.xml";
		
		DocumentBuilder db= dbf.newDocumentBuilder();
		Document doc= db.parse(xmlName);
		//System.out.println(doc);
		Element root= doc.getDocumentElement();
		//System.out.println(root);    
		
		XPathFactory xpFactory= XPathFactory.newInstance();
		XPath xpath= xpFactory.newXPath();
		Element node= (Element)xpath.evaluate("/cl4ass/student[@sequence='2']", root, XPathConstants.NODE);
		node.getElementsByTagName("degree").item(0).setTextContent("研究生");
		
		TransformerFactory factory= TransformerFactory.newInstance();
		Transformer former= factory.newTransformer();
		former.transform(new DOMSource(doc), new StreamResult(new File(xmlName)));
		
		
	}

}

 

posted @ 2017-09-07 22:31  18513757531  阅读(99)  评论(0编辑  收藏  举报