자바 DOM 읽 기 쓰기 XML 사용

DOM 개체 처리 XML 사용
XML 파일
 
    
  1. xml version="1.0" encoding="UTF-8"?>
  2. <persons>
  3. <person>
  4. <name>Assadname>
  5. <age>22age>
  6. <home>Shanghaihome>
  7. person>
  8. <person>
  9. <name>Johnname>
  10. <age>19age>
  11. <home>GuangZhouhome>
  12. person>
  13. persons>


1、读取XML文件
 
     
  1. //Java XML
  2. public static void readXML(){
  3. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  4. try{
  5. DocumentBuilder builder = factory.newDocumentBuilder();
  6. Document document = builder.parse(new File("test.xml"));
  7. Element rootElement = document.getDocumentElement(); // Document ;
  8. NodeList personList = rootElement.getElementsByTagName("person"); //
  9. for(int i=0;i<personList.getLength();i++){ // person
  10. Element person = (Element)personList.item(i);
  11. for(Node node = person.getFirstChild() ; node!=null ; node = node.getNextSibling()){ // perosn
  12. if(node.getNodeType() == Node.ELEMENT_NODE){
  13. String key = node.getNodeName(); //
  14. String value = node.getFirstChild().getNodeValue(); // System.out.println(key+":"+value);
  15. }
  16. }
  17. }
  18. }catch(Exception ex){
  19. ex.printStackTrace();
  20. }
  21. }

2、 XML
 
     
  1. public static void updateAndSave(){
  2. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  3. try{
  4. DocumentBuilder builder = factory.newDocumentBuilder();
  5. Document document = builder.parse(new File("test.xml"));
  6. Element persons = document.getDocumentElement(); //
  7. //
  8. Element person = document.createElement("person");
  9. Element name = document.createElement("name"); //
  10. name.setTextContent("Petter");
  11. Element age = document.createElement("age");
  12. age.setTextContent("20");
  13. Element home = document.createElement("home");
  14. home.setTextContent("ShengZhen");
  15. person.appendChild(name); //
  16. person.appendChild(age);
  17. person.appendChild(home);
  18. persons.appendChild(person);
  19. // ="assad"
  20. NodeList personList = persons.getElementsByTagName("person");
  21. for(int i=0;i<personList.getLength();i++){
  22. Element person_i = (Element)personList.item(i);
  23. Element name_i = (Element)person_i.getElementsByTagName("name").item(0);
  24. if(name_i.getFirstChild().getNodeValue().equals("Assad")){
  25. persons.removeChild(person_i); // ;
  26. break;
  27. }
  28. }
  29. //
  30. TransformerFactory factory_t = TransformerFactory.newInstance();
  31. Transformer former = factory_t.newTransformer();
  32. former.setOutputProperty(OutputKeys.INDENT,"yes"); // XML ;
  33. former.transform(new DOMSource(document),new StreamResult(new File("test_update.xml")));
  34. }catch(Exception ex){
  35. ex.printStackTrace();
  36. }
  37. }

3、 XML
 
      
  1. public static void create(){
  2. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  3. try{
  4. DocumentBuilder builder = factory.newDocumentBuilder();
  5. Document doc = builder.newDocument();
  6. //
  7. Element bookstore = doc.createElement("bookstore"); //
  8. Element book = doc.createElement("book"); //
  9. Element title = doc.createElement("title");
  10. title.setTextContent("How to Learn Java");
  11. Element author = doc.createElement("author");
  12. author.setTextContent("Json");
  13. book.appendChild(title);
  14. book.appendChild(author);
  15. bookstore.appendChild(book);
  16. doc.appendChild(bookstore);
  17. //
  18. TransformerFactory factory_t = TransformerFactory.newInstance();
  19. Transformer former = factory_t.newTransformer();
  20. former.setOutputProperty(OutputKeys.INDENT,"yes");
  21. former.transform(new DOMSource(doc),new StreamResult(new File("test_create.xml")));
  22. }catch(Exception ex){
  23. ex.printStackTrace();
  24. }
  25. }



좋은 웹페이지 즐겨찾기