0
点赞
收藏
分享

微信扫一扫

Java的SAX解析代码二

boom莎卡拉卡 2022-08-02 阅读 56

package com.imooc.learn2;



import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;



public class SaxParseHandler extends DefaultHandler {

private static int c=0;

/**

* 用来遍历xml文件的开始标签

*@Descriptioon

* @作者 豆云谦

*@Create 下午8:01:39

*/

@Override

public void startElement(String uri, String localName, String qName,

Attributes attributes) throws SAXException {

// TODO Auto-generated method stub

super.startElement(uri, localName, qName, attributes);


if (qName.equals("book")) {

c=c+1;

System.out.println("======开始遍历第"+(c)+"本书=====");

//已知book的属性名称,获取属性值

//
String value=attributes.getValue("id");

//
System.out.println("book的id属性值是:"+value);

//在不知道book的属性名称和个数的时候


int num=attributes.getLength();

for (int i = 0; i <num; i++) {

System.out.print("Book元素的"+(i+1)+"个属性名:"+attributes.getQName(i));

System.out.println("--该元素的属性值是:"+attributes.getValue(i));

}


}else if (!qName.equals("bookstore") && !qName.equals("book")) {

System.out.print("节点名是:"+qName);


}

}

/**

* 用来遍历xml的结束标签

*@Descriptioon

* @作者 豆云谦

*@Create 下午8:01:52

*/

@Override

public void endElement(String uri, String localName, String qName)

throws SAXException {

// TODO Auto-generated method stub

super.endElement(uri, localName, qName);

if (qName.equals("book")) {

System.out.println("======结束遍历第"+(c)+"本书=====");

}



}

/**

* 用来标志解析开始

*@Descriptioon

* @作者 豆云谦

*@Create 下午8:02:43

*/

@Override

public void startDocument() throws SAXException {

// TODO Auto-generated method stub

super.startDocument();

System.out.println("Sax解析开始");

}

/**

* 用来标志解析结束

*@Descriptioon

* @作者 豆云谦

*@Create 下午8:03:05

*/

@Override

public void endDocument() throws SAXException {

// TODO Auto-generated method stub

super.endDocument();

System.out.println("Sax解析结束");

}

/**

*

*@Descriptioon

* @作者 豆云谦

*@Create 下午8:42:20

*/

@Override

public void characters(char[] ch, int start, int length)

throws SAXException {

// TODO Auto-generated method stub

super.characters(ch, start, length);

String value=new String(ch, start, length);

if (!value.trim().equals("")) {

System.out.println(">>>"+value);

}

}



}

举报

相关推荐

SAX解析

xml解析-sax解析

SAX解析xml文件

XML解析-最快的方式SAX

java sax api

0 条评论