DOM 해석 XML 의 첨삭 수정 실현

4030 단어 JAVAXML
앞의 XML 읽 기 는 이미 완 성 된 셈 입 니 다.지금 은 DOM 을 사용 하여 그 를 첨삭 하고 고 치 는 것 입 니 다.이것 이 야 말로 DOM 의 장점 입 니 다.사실 코드 는 매우 간단 합 니 다.너무 많은 설명 이 필요 없습니다.아래 코드 를 동봉 합 니 다.
   
package com.bird.xml;

import java.io.FileOutputStream;

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 org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * @use  XML          
 * @author Bird
 *
 */
public class XmlChange {
	public Document getDocument() throws Exception{//  XML   Document  
		//1    
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		
		//2.     
		DocumentBuilder builder = factory.newDocumentBuilder();
		
		//3.  XML  ,       Document
		Document document = builder.parse("d://book.xml");
		
		return document;
	}
	
	public void add() throws Exception{// XML       
		Document document = getDocument();
		
		//    
		Element price = document.createElement("  ");
		price.setTextContent("99.00 ");
		
		//             
		Element book = (Element) document.getElementsByTagName(" ").item(0);
		book.appendChild(price);
		
		//              
		TransformerFactory tsfactory = TransformerFactory.newInstance();
		Transformer transform = tsfactory.newTransformer();
		transform.transform(new DOMSource(document), new StreamResult(new FileOutputStream("d://book.xml")));
	}
	
	
	public void add1() throws Exception{// XML            
		Document document = getDocument();
		
		//    
		Element price = document.createElement("  ");
		price.setTextContent("99.00 ");
		
		//      
		Element refElement = (Element) document.getElementsByTagName("  ").item(0);
		
		//         
		Element book = (Element) document.getElementsByTagName(" ").item(0);
		
		// book         
		book.insertBefore(price, refElement);
		
		//              
		TransformerFactory tsfactory = TransformerFactory.newInstance();
		Transformer transform = tsfactory.newTransformer();
		transform.transform(new DOMSource(document), new StreamResult(new FileOutputStream("d://book.xml")));
	}
	
	
	public void add2() throws Exception{// XML            
		Document document = getDocument();
		
		//           
		Element bookname = (Element) document.getElementsByTagName("  ").item(0);
		
		//     
		bookname.setAttribute("name", "XXXXX");
		
		
		//              
		TransformerFactory tsfactory = TransformerFactory.newInstance();
		Transformer transform = tsfactory.newTransformer();
		transform.transform(new DOMSource(document), new StreamResult(new FileOutputStream("d://book.xml")));
	}
	 
	public void delete() throws Exception{//      
		Document document = getDocument();
		
		//        
		Element e = (Element) document.getElementsByTagName("  ").item(0);
		
		//          
		e.getParentNode().removeChild(e);
		
		//              
		TransformerFactory tsfactory = TransformerFactory.newInstance();
		Transformer transform = tsfactory.newTransformer();
		transform.transform(new DOMSource(document), new StreamResult(new FileOutputStream("d://book.xml")));
	}
	
	
	public void update() throws Exception{//        
		Document document = getDocument();
		
		//         
		Element price = (Element) document.getElementsByTagName("  ").item(0);
		price.setTextContent("109 ");
		
		//              
		TransformerFactory tsfactory = TransformerFactory.newInstance();
		Transformer transform = tsfactory.newTransformer();
		transform.transform(new DOMSource(document), new StreamResult(new FileOutputStream("d://book.xml")));
	}
	
	public static void main(String [] args) throws Exception{
		XmlChange xml = new XmlChange();
	//	xml.add();
	//	xml.add1();//         
	//	xml.add2();//         
	//	xml.delete();//       
		xml.update();//        
	}
}

좋은 웹페이지 즐겨찾기