XML入门:使用jaxp删除节点

使用jaxp删除节点

如:删除<sex>nan</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();
	}
	//删除<sex>nan</sex>
	public static void del() throws Exception {
		/*
		 *  * 1.创建解析器工程
			 * 2.根据解析工厂创建解析器
			 * 3.解析xml,返回document
			 * 4.获取sex元素
			 * 5.获取sex的父节点
			 * 6.删除使用父节点删除removeChild方法
			 * 7.回写 xml
		 */
		//创建解析器工厂
		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父节点
		Node person=sex1.getParentNode();
		//删除
		person.removeChild(sex1);
		//回写 xml
	    TransformerFactory transformerFactory = TransformerFactory.newInstance();
		Transformer transformer = transformerFactory.newTransformer();
		transformer.transform(new DOMSource(document), new StreamResult("src/person.xml"));
	}
    }
}

 

jaxp删除节点

 

阅读剩余
THE END