SAX解析XML文件实例代码

小咪咪 2022-08-23 14:44 277阅读 0赞
  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.xml.parsers.ParserConfigurationException;
  6. import javax.xml.parsers.SAXParser;
  7. import javax.xml.parsers.SAXParserFactory;
  8. import org.xml.sax.Attributes;
  9. import org.xml.sax.SAXException;
  10. import org.xml.sax.helpers.DefaultHandler;
  11. public class XMLTest extends DefaultHandler {
  12. public void startDocument() throws SAXException{
  13. System.out.println("<?xml version='1.0' encoding='UTF-8' ?>");
  14. }
  15. public void processingInstruction(String target ,String data) throws SAXException{
  16. System.out.println("<?"+target+" "+data+"?>");
  17. }
  18. public void startElement(String uri,String localName,
  19. String qName,Attributes attrs)throws SAXException {
  20. System.out.print("<"+qName);
  21. int len=attrs.getLength();
  22. for(int i=0;i<len;i++){
  23. System.out.print(" ");
  24. System.out.print(attrs.getQName(i));
  25. System.out.print("=\"");
  26. System.out.print(attrs.getValue(i));
  27. System.out.print("\"");
  28. }
  29. System.out.print(">");
  30. List list=new ArrayList();
  31. }
  32. public void characters(char[] ch,int start,
  33. int length)throws SAXException {
  34. System.out.println(new String(ch,start,length));
  35. }
  36. public void endElement(String uri,String localName,
  37. String qName)throws SAXException {
  38. System.out.println("</"+qName+">");
  39. }
  40. public static void main(String[] args) {
  41. SAXParserFactory sdf=SAXParserFactory.newInstance();
  42. SAXParser sp=null;
  43. try {
  44. sp=sdf.newSAXParser();
  45. //aa.xml里面必须有数据,可以解析出来里面的内容
  46. File f=new File("c:/aa.xml");
  47. sp.parse(f,new XMLTest());
  48. } catch (ParserConfigurationException e) {
  49. // TODO Auto-generated catch block
  50. e.printStackTrace();
  51. } catch (SAXException e) {
  52. // TODO Auto-generated catch block
  53. e.printStackTrace();
  54. } catch (IOException e) {
  55. // TODO Auto-generated catch block
  56. e.printStackTrace();
  57. }
  58. }
  59. }

发表评论

表情:
评论列表 (有 0 条评论,277人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SAX解析XML

    *下面是SAX解析XML的示例,包括三个文件employee.xml、Employee.java、SaxEmployee.java** **1.被解析的employee...

    相关 SAX解析XML

    SAX(Simple API for XML)也是一种解析 XML 文件的方法,它虽然不是官方标准,但它是 XML 的事实标准,大部分 XML 解析器都支持它。 SAX 与

    相关 Java——SAX解析XML文件

    SAX适用于只读取XML文件内容的情况,因为SAX是一种边读边解析的模式,所以不需要直接将XML文件直接塞入内存,读取速度也更快,但是只能读。 SAX解析主要有两个部分:①

    相关 SAX解析XML

    SAX(Simple API for XML)也是一种解析 XML 文件的方法,它虽然不是官方标准,但它是 XML 的事实标准,大部分 XML 解析器都支持它。 SAX ...