为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的setId报错


package handler;


import java.awt.print.Book;


import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;


public class SAXParserHandler extends DefaultHandler {

int bookIndex = 0;

    /*

     *用来标识解析开始 

     */

    @Override

    public void startDocument() throws SAXException {

    super.startDocument();

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

    }

    /*

     *用来标识解析开始 

     */

    @Override

    public void endDocument() throws SAXException {

    super.endDocument();

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

    }

    /*

     *解析xml元素 

     */

    @Override

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

    Attributes attributes) throws SAXException {

    // 调用DefaultHandler类的startElement方法

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

    //开始解析book元素的属性

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

    bookIndex++;

      Book book = new Book();

    System.out.println("===================下面开始遍历第"+bookIndex+"本书的内容===================");

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

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

    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));

    if (attributes.getQName(i).equals("id")){

    book.setId(attributes.getValue(i));

    }

    }

    }

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

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

    }

    }

    

    @Override

    public void endElement(String uri, String localName, String qName) throws SAXException {

    // 调用DefaultHandler类的endElement方法 

    super.endElement(uri, localName, qName);

    //判断是否针对一本书已经遍历结束

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

System.out.println("===================结束遍历第"+bookIndex+"本书的内容===================");

    }

    }

    

    @Override

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

    // TODO 自动生成的方法存根

    super.characters(ch, start, length);

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

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

    System.out.println("---节点值是:"+value);

    }

    }

    

}



正在回答

1 回答

多了一个book的导入

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的setId报错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信