博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java问题日常积累
阅读量:4229 次
发布时间:2019-05-26

本文共 2264 字,大约阅读时间需要 7 分钟。

写Android时总是遇到空指针问题,主要的原因是因为好多时候类没有初始化的缘故。

public class XMLParserHandler extends DefaultHandler {

private Book book=new Book();
private ArrayList<Book> booklist=new ArrayList<Book>();
private String nodeName;
private StringBuilder value;
@Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub
super.startDocument();
value=new StringBuilder();
}
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
}
@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);
nodeName=localName;
value.setLength(0);
}
@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("data")){
booklist.add(book);
}
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
super.characters(ch, start, length);
value.append(ch,start,length);
Log.d("mainactivity",value.toString().trim());
if(nodeName.equals("id")){
book.setId(Integer.parseInt(value.toString().trim()));
}else if(nodeName.equals("study_number")){
book.setStudy_number(Integer.parseInt(value.toString().trim()));
}else if(nodeName.equals("name")){
book.setName(value.toString().trim());
}else if(nodeName.equals("sex")){
book.setSex(value.toString().trim());
}else if(nodeName.equals("major")){
book.setMajor(value.toString().trim());
}else if(nodeName.equals("enroll_year")){
    book.setEnroll_year(Integer.parseInt(value.toString().trim()));
}else if(nodeName.equals("class")){
book.setClassw(value.toString().trim());
}else if(nodeName.equals("telephone")){
book.setTelephone(value.toString().trim());
}else if(nodeName.equals("qq")){
book.setQq(value.toString().trim());
}else if(nodeName.equals("email")){
book.setEmail(value.toString().trim());
}else if(nodeName.equals("remark")){
book.setRemark(value.toString().trim());
}
}
public ArrayList<Book> getBooklist() {
return booklist;
}
public void setBooklist(ArrayList<Book> booklist) {
this.booklist = booklist;
}

转载地址:http://gsjqi.baihongyu.com/

你可能感兴趣的文章
Java代码反编译——下载class字节码文件及反编译.class文件
查看>>
稀疏表示去噪的理解
查看>>
稀疏表示(二)——KSVD算法详解(结合代码和算法思路)
查看>>
剑指Offer习题集锦——Java实现及思路分析
查看>>
剑指Offer——二叉树镜像问题
查看>>
剑指Offer——二叉搜索树中第K大的节点
查看>>
剑指Offer——数据流中的中位数
查看>>
剑指Offer——查找队列中的最大值
查看>>
剑指Offer——顺时针遍历矩阵
查看>>
剑指Offer——栈的压入、弹出顺序
查看>>
剑指Offer——从上到下打印二叉树
查看>>
剑指Offer——字符串的排列
查看>>
剑指Offer——把数组排成最小的数
查看>>
剑指Offer——丑数
查看>>
剑指Offer——字符串中第一个只出现一次的字符
查看>>
Linux 中的硬链接与软连接有什么区别
查看>>
Python 图像处理库
查看>>
使用PHPMailer-master发送邮件
查看>>
利用smtp协议实现命令行发送邮件
查看>>
利用php的mail()函数发送邮件
查看>>