DOM进行XML读写的简单例子

import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.stream.StreamResult;

public class Test {
  public Test() {
  }
  public static void testWriteDocument(){
   try{
     DocumentBuilder builder = null;
     builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
     Document document = builder.newDocument();
     Element elementStudent = document.createElement("STUDENT");
     elementStudent.setAttribute("Name","李明亮");
     elementStudent.setAttribute("Age","20");
     elementStudent.setAttribute("Teacher","张建伟");
     elementStudent.appendChild(document.createTextNode("说明:毕业于郑州轻工业学院"));
     document.appendChild(elementStudent);
     //outPutXML(document, "d://cc.xml");
     Transformer transformer = TransformerFactory.newInstance().newTransformer();
     transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
     transformer.setOutputProperty(OutputKeys.INDENT, "yes");
     transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
     transformer.transform(new DOMSource(document),
                           new StreamResult("d://cc.xml"));

     System.out.println("写入结束");
   }catch(Exception e){
     e.printStackTrace();
   }
 }
 public static void testReadDocument(){
    try{
      System.out.println("开始 ");
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
     //Document doc = builder.parse(new java.io.File("d://cc.xml"));//解析文件称document对象
     
      Document doc = builder.parse("http://www.csdn.net/Rss/RssFeed.aspx?rssid=1&bigclassid=6");
      Element elementRoot = doc.getDocumentElement();//获取xml的根节点
      System.out.println(elementRoot.getTagName());
      /*
          String strName = elementRoot.getAttribute("Name");//获取节点的name属性
      String strAge = elementRoot.getAttribute("Age");//获取age属性
      String strTeacher = elementRoot.getAttribute("Teacher");//获取...
      String strValue = elementRoot.getFirstChild().getNodeValue();//获取子节点值
      //输出获取的结果
      System.out.println("testReadDocument()  strName= "+strName);
      System.out.println("testReadDocument() strAge = "+strAge);
      System.out.println("testReadDocument() strTeacher = "+strTeacher);
      System.out.println("testReadDocument() strValue = "+strValue);
      */
      System.out.println("结束 ");

    }catch(Exception e){
      e.printStackTrace();
    }
  }


  public static void main(String[] args) {
    Test test1 = new Test();
    Test.testWriteDocument();
    Test.testReadDocument();
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值