XML入门:使用JAXP修改节点

使用jaxp修改节点

如:修改第一个p中的sex内容为男

package cn.xtnotes.jaxp;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;

/**
 * 
 * @author Administrator
 *
 */
public class Sele {

	public static void main(String[] args) throws Exception {
		//SelectALL();
		//selectSin();
		//addSex();
		modifySex();
	}
	//修改第一个p中的sex内容为nan
	/*
	 *  * 1.创建解析器工程
		 * 2.根据解析工厂创建解析器
		 * 3.解析xml,返回document
		 * 4.得到sex item方法
		 * 5.修改sex里面的值 setTextContent方法
		 * 6.回写 xml
	 */
	public static void modifySex() throws Exception{
	//创建解析器工厂
	    DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
	//创建解析器
	    DocumentBuilder builder = builderFactory.newDocumentBuilder();
	//解析xml,得到document
	    Document document = builder.parse("src/person.xml");
	    //得到sex
	    Node sex1 = document.getElementsByTagName("sex").item(0);
	    //修改sex
	    sex1.setTextContent("nan");
	    //回写 xml
	    TransformerFactory transformerFactory = TransformerFactory.newInstance();
		Transformer transformer = transformerFactory.newTransformer();
		transformer.transform(new DOMSource(document), new StreamResult("src/person.xml"));
	}

jaxp修改节点

阅读剩余
THE END