第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

SAX解析

public?class?SAXParserHandler?extends?DefaultHandler?{
????int?bIndex?=?0;
????private?ArrayList<Book>?bookList?=?new?ArrayList<Book>();
????Book?book=null;
????String?qValue?=?null;

????public?ArrayList<Book>?getBookList()?{
????????return?bookList;
????}

????@Override
????public?void?startDocument()?throws?SAXException?{
????????super.startDocument();
????????System.out.println("開(kāi)始解析XML文件");
????}

????@Override
????public?void?endDocument()?throws?SAXException?{
????????super.endDocument();
????????System.out.println();

????????System.out.println("一共有"+bookList.size()+"本書(shū)");
????????for?(int?i=0;i<bookList.size();i++){
????????????System.out.println("一共有"+(i+1)+"本書(shū)");
????????????Book?b?=?bookList.get(i);
????????????System.out.println("書(shū)名:"+b.getName());
????????????System.out.println("作者:"+b.getAuthod());
????????????System.out.println("年份:"+b.getYear());
????????????System.out.println("價(jià)格:"+b.getPrice());
????????????System.out.println("語(yǔ)言:"+b.getLanguage());
????????}
????????System.out.println("結(jié)束解析XML文件");
????}

????@Override
????public?void?startElement(String?uri,?String?localName,?String?qName,?Attributes?attributes)?throws?SAXException?{
????????super.startElement(uri,?localName,?qName,?attributes);

????????if(qName.equals("book")){
????????????bIndex++;
????????????System.out.println("開(kāi)始遍歷第"+bIndex+"本書(shū)");
//????????????//已知屬性的情況
//????????????String?value?=?attributes.getValue("id");
//????????????System.out.println("book的id屬性值為:"+value);
????????????//不知道屬性的值
????????????for?(int?i=0;i<attributes.getLength();i++){
????????????????System.out.println("第"+(i+1)+"個(gè)屬性名為:"+attributes.getQName(i));
????????????????System.out.println("第"+(i+1)+"個(gè)屬性值為:"+attributes.getValue(i));
????????????}
????????????System.out.println("結(jié)束遍歷第"+bIndex+"本書(shū)");
????????}else?if(!qName.equals("bookstore")&&!qName.equals("name")){
????????????System.out.print("節(jié)點(diǎn)名為:"+qName+"---");
????????}

????}

????@Override
????public?void?endElement(String?uri,?String?localName,?String?qName)?throws?SAXException?{
????????super.endElement(uri,?localName,?qName);
????????if?(qName.equals("book")){
????????????bookList.add(book);
????????????book?=null;
????????????System.out.println("開(kāi)始保存第"+bIndex+"本書(shū)的內(nèi)容。。。。。。");
????????}
????????else?if?(qName.equals("id")){
????????????book.setId(qValue);
????????}
????????else?if?(qName.equals("name"))?{
????????????book.setName(qValue);
????????}
????????else?if?(qName.equals("authod")){
????????????book.setAuthod(qValue);
????????}
????????else?if?(qName.equals("year")){
????????????book.setYear(qValue);
????????}
????????else?if?(qName.equals("price")){
????????????book.setPrice(qValue);
????????}else?if(qName.equals("language")){
????????????book.setLanguage(qValue);
????????}
????}

????@Override
????public?void?characters(char[]?ch,?int?start,?int?length)?throws?SAXException?{
????????super.characters(ch,?start,?length);
????????qValue?=?new?String(ch,start,length);
????????if(!qValue.trim().equals("")){
????????????System.out.println("節(jié)點(diǎn)值為:"+qValue);
????????}
????}
}
public?class?SAXTest?{

????public?static?void?main(String[]?args)?throws?Exception?{
????????SAXParserFactory?factory?=?SAXParserFactory.newInstance();
????????SAXParser?parser?=?factory.newSAXParser();
????????SAXParserHandler?handler?=?new?SAXParserHandler();
????????parser.parse("books.xml",handler);
????}
}
public?class?Book?{
????private?String?id;
????private?String?name;
????private?String?authod;
????private?String?price;
????private?String?year;
????private?String?language;

????public?Book(){}

????public?String?getId()?{
????????return?id;
????}

????public?void?setId(String?id)?{
????????this.id?=?id;
????}

????public?String?getName()?{
????????return?name;
????}

????public?void?setName(String?name)?{
????????this.name?=?name;
????}

????public?String?getAuthod()?{
????????return?authod;
????}

????public?void?setAuthod(String?authod)?{
????????this.authod?=?authod;
????}

????public?String?getPrice()?{
????????return?price;
????}

????public?void?setPrice(String?price)?{
????????this.price?=?price;
????}

????public?String?getYear()?{
????????return?year;
????}

????public?void?setYear(String?year)?{
????????this.year?=?year;
????}

????public?String?getLanguage()?{
????????return?language;
????}

????public?void?setLanguage(String?language)?{
????????this.language?=?language;
????}
}

求助,為什么SAXPaserHandler中的endElement中會(huì)報(bào)空指令異常?

正在回答

1 回答

你的startElement()方法里沒(méi)有創(chuàng)建book對(duì)象,應(yīng)該在?bIndex++;之后 創(chuàng)建一個(gè)?book= new Book();應(yīng)該就對(duì)了,試試看看

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

moummm 提問(wèn)者

非常感謝!
2017-08-12 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java眼中的XML---文件讀取
  • 參與學(xué)習(xí)       83200    人
  • 解答問(wèn)題       444    個(gè)

通過(guò)Java認(rèn)識(shí)并且創(chuàng)造XML文件,如何應(yīng)用 Java“解析 XML

進(jìn)入課程
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)