1:DOM实例
示例XML文件message.xml:
<?xml version="1.0" encoding="UTF-8"?>
       <messages>
              <message>电影:七剑主演:甄子丹</message>
              <message>电影:神话主演:成龙</message>
              <message>电影:世界大战主演:汤姆克鲁斯</message>
              <message>电影:喜马拉雅星主演:吴镇宇</message>
       </messages>
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="javax.xml.parsers.*,org.w3c.dom.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
Dom读取XML文件</title>
  </head>
 
  <body>
    <%DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db=dbf.newDocumentBuilder();
    Document doc=db.parse("f:/message.xml");
    NodeList nl=doc.getElementsByTagName("message");
    for(int j=0;j<nl.getLength();j++)
    {
getFirstChild().getNodue();
     %>
     <%=str %><br>
     <%} %>
  </body>
</html>
在浏览器中成功输出:
电影:七剑 主演:甄子丹
电影:神话 主演:成龙
电影:世界大战 主演:汤姆克鲁斯
电影:喜马拉雅星 主演:吴镇宇 
2:SAX实例
示例XML文件:file.xml
<?xml version="1.0" encoding="gb2312"?>
       <common city="jinan" date="11/06/2009">
              <file name="英雄" price="120" station="影院1" time="19:00"
                     description="大片">
              </file>
              <file name="无间道" price="100" station="影院2" time="18:30"
                     description="香港">
              </file>
              <file name="阿甘正传" price="200" station="影院3" time="20:00"
                     description="好莱坞大片">
              </file>
       </common>
.java源文件:
package xml;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
public class XMLReader extends DefaultHandler{
    private int index;
    private Locator locator;
    public XMLReader()
    {
       super();
    }
    public static void main(String[]args)
    {
       try
       {
           SAXParserFactory sf=SAXParserFactory.newInstance();//产生新的SAX流的工厂实例
           SAXParser sp=sf.newSAXParser();//用工厂生产出SAX流的实例
           XMLReader reader=new XMLReader();
           sp.parse(new InputSource("f:/file.xml"), reader);//把目标文件转化为输入流
       }
       catch (Exception e) {
           e.printStackTrace();
       }
    }
    //处理文档解析开始事件
    public void startDocument()
    {
       System.out.println("/n***********************(--电影放映安排--)*******************/n");
    }
    //处理元素开始事件
    public void startElement(String uri,String localName,String qName,Attributes attrs)
    {
       if(qName.equalsIgnoreCase("file"))
       {
           index++;
           int attrCount=attrs.getLength();
           for(int i=0;i<attrCount;i++)
           {
              String attrName=attrs.getQName(i);
              if(attrName.equalsIgnoreCase("name"))
              {
                  System.out.println("/t第"+index+"场,片名<<"+attrs.getValue(i)+">>");  
              }
              if(attrName.equalsIgnoreCase("price"))
              {
                  System.out.println("/t票价:"+attrs.getValue(i));
              }
              if(attrName.equalsIgnoreCase("station"))
              {
                  System.out.println("/t放映地点:"+attrs.getValue(i));
              }
              if(attrName.equalsIgnoreCase("time"))
              {
                  System.out.println("/t放映时间"+attrs.getValue(i));
              }
              if(attrName.equalsIgnoreCase("description"))
              {
                  System.out.println("/t影片简介"+attrs.getValue(i));
              }
              System.out.println();
           }
       }
    }
    //处理文档解析结束事件
    public void endDocument() throws SAXException {
       System.out.println("/t/t/t/t/t/t/t-----共有"+index+"场电影");
    }
    //处理元素结束事件
    public void endElement(String uri, String localName, String name){
          
    }
    //打印致命错误信息
    public void fatalError(SAXParseException e) throws SAXException {
       super.fatalError(e);
    }
    //打印普通错误
    public void error(SAXParseException e) throws SAXException {
       super.error(e);
    }
    //打印警告信息
    public void warning(SAXParseException e) throws SAXException {
       super.warning(e);
    }
}
成功调试,输出结果:
***********************(--电影放映安排--)************************
 
    第1场,片名<<英雄>>
 
    票价:120
 
    放映地点:影院1
 
    放映时间19:00
 
    影片简介大片
 
    第2场,片名<<无间道>>
 
    票价:100
 
    放映地点:影院2
 
    放映时间18:30
 
    影片简介香港
 
    第3场,片名<<阿甘正传>>
 
    票价:200
 
    放映地点:影院3
 
    放映时间20:00
 
    影片简介好莱坞大片
 
                         -----共有3场电影
 
3:JDOM实例
XML示例文件:city.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
              <book email="guangxu1@yahoo.com.cn">
                     <name>jinan</name>
              </book>
              <book email="guangxu2@yahoo.com.cn">
                     <name>jinan</name>
              </book>
              <book email="guangxu3@yahoo.com.cn">
                     <name>jinan</name>
              </book>
       </books>
.java源文件:
package xml;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class JDomXml {
    public JDomXml()
    {
       String xmlpath="f:/city.xml";
       SAXBuilder builder=new SAXBuilder();
       try
       {
           Document doc=builder.build(xmlpath);
           Element books=doc.getRootElement();
List
           for(Iterator
           {
              Element book=(Element)iter.next();
              String email=book.getAttributue("email");
              String name=book.getChildTextTrim("name");
              System.out.println(email);
              System.out.println(name);
              book.getChild("name").setText("shandong");
           }
           XMLOutputter outputter=new XMLOutputter();
           outputter.output(doc, new FileOutputStream(xmlpath));
       }
       catch (Exception e) {
           e.printStackTrace();
       }
    }
    public static void main(String[] args)
    {
       new JDomXml();
    }
}
调试成功,输出结果:guangxu1@yahoo.com.cn
jinan
guangxu2@yahoo.com.cn
jinan
guangxu3@yahoo.com.cn
jinan
并把文件中的jinan全部改成了shandong
4:Dom4j实例
XML示例文件:book.xml
<?xml version="1.0" encoding="UTF-8"?>
  <books>
         <book show="yes">
         </book>
         <book show="yes">
                <title>jsp</title>
         </book>
         <book show="no">
                <title>java</title>
         </book>
     <owner>guangxu</owner>
</books>
.java源文件
import java.io.File;
import java.io.FileWriter;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4j {
    public boolean Dom4j()
       try{
           SAXReader saxReader = new SAXReader();
           Document document = saxReader.read(new File("f:/book.xml"));
List list = document.selectNodes("/books/book/@show" ); //用xpath查找对象
Iterator
           while(iter.hasNext())
              {
              Attribute attribute = (Attribute)iter.next();
              if(attribute.getValue().equals("yes"))
                  {
                  attribute.setValue("no");
                  }
              }//如果book节点中show属性的内容为yes,则修改成no
          
           list = document.selectNodes("/books/owner" );
           iter = list.iterator();
           if(iter.hasNext())
           {
              Element ownerElement = (Element)iter.next();
              ownerElement.setText("Tshinghua");//把owner项内容改为guangxu123
              Element dateElement = ownerElement.addElement("date");
              dateElement.setText("2004-09-11");
              dateElement.addAttribute("type","computer");
           }
           list = document.selectNodes("/books/book");
           iter = list.iterator();
           while(iter.hasNext())
           {
              Element bookElement = (Element)iter.next();
Iterator
              while(iterator.hasNext())
              {
                  Element titleElement=(Element)iterator.next();
                  if(titleElement.getText().equals("jsp"))//若title内容为jsp,则删除该节点
                  {
                     bookElement.remove(titleElement);
                  }
              }
           }
          
           XMLWriter writer = new XMLWriter(new FileWriter(new File("f:/book.xml")));
           writer.write(document);
           writer.close();
           }
       catch(Exception ex){
           ex.printStackTrace();
           }
           return true;
    }
    public static void main(String[]args)
    {
       new Dom4j();
    }
 
}