为什么我的dnf右上角倒计时是null?

为什么我输出的value都是null呢,跟老师一样的代码
输出:SAX解析开始=========开始遍历第1本书的内容=========book元素的第1个属性名是:id---属性值是:1节点名是:name-----节点值是:冰与火之歌节点名是:author-----节点值是:乔治马丁节点名是:year-----节点值是:2014节点名是:price-----节点值是:89===========结束遍历第1本书的内容========================开始遍历第2本书的内容=========book元素的第1个属性名是:id---属性值是:2节点名是:name-----节点值是:安徒生童话节点名是:year-----节点值是:2004节点名是:price-----节点值是:77节点名是:language-----节点值是:English===========结束遍历第2本书的内容===============SAX解析结束!!!共有2本书!nullnullnullnull89null------finish-------nullnullnullnullnullEnglish------finish-------SAXTest类:package com.immoc.import java.io.IOEimport javax.xml.parsers.ParserConfigurationEimport javax.xml.parsers.SAXPimport javax.xml.parsers.SAXParserFimport org.xml.sax.SAXEimport com.imooc.entity.Bimport com.imooc.handler.SAXPAarserHpublic class SAXTest { public static void main(String[] args) {
//获取一个SAXparserFactory的实例
SAXParserFactory factory=SAXParserFactory.newInstance();
//通过factory获取SAXparser实例
SAXParser parser=factory.newSAXParser();
//创建SAXParserHandler对象
SAXPAarserHandler handler=new SAXPAarserHandler();
parser.parse("books.xml", handler);
System.out.println("!!!共有"+handler.getBookList().size()+"本书!");
for (Book book :handler.getBookList() ) {
System.out.println(book.getId());
System.out.println(book.getName());
System.out.println(book.getAuthor());
System.out.println(book.getYear());
System.out.println(book.getPrice());
System.out.println(book.getLanguage());
System.out.println("------finish-------");
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}以下是SAXParseHandler类代码:package com.imooc.import java.util.ArrayLimport javax.xml.stream.events.StartEimport org.xml.sax.Aimport org.xml.sax.SAXEimport org.xml.sax.helpers.DefaultHimport com.imooc.entity.Bpublic class SAXPAarserHandler extends DefaultHandler { int bookIndex=0; String value= //创建一个book对象 Book book= private ArrayList&Book& bookList=new ArrayList&Book&();// /**//
* 用来遍历xml文件的开始标签//
*/// @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);// }// // /**//
* 用来遍历xml文件的结束标签//
*/// @Override// public void endElement(String uri, String localName, String qName) throws SAXException {//
// TODO Auto-generated method stub//
super.endElement(uri, localName, qName);// }
public ArrayList&Book& getBookList() {
return bookL } /** *
* 用来标识解析开始 */ @Override public void startDocument() throws SAXException {
// TODO Auto-generated method stub
super.startDocument();
System.out.println("SAX解析开始"); } /** *
* 用来标识解析结束 */ @Override public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
System.out.println("SAX解析结束"); }
/** * 解析xml元素 *
*/ @Override
public void startElement(String uri, String localName,
String qName, Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
//调用DefaultHandler类的startElemnet方法
super.startElement(uri, localName, qName, attributes);
//开始解析book元素的属性
//创建一个book对象
book=new Book();
if(qName.equals("book")){
bookIndex++;
//开始解析book元素的属性
System.out.println("=========开始遍历第"+bookIndex+"本书的内容=========");//
//已知book元素下属性的名称,根据属性名称获取属性值//
String value=attributes.getValue("id");//
System.out.println("book的属性值是:"+value);
//不知道book元素下属性的名称以及个数,如何获取属性名以及属性值
int num=attributes.getLength();
for(int i=0;i&i++){
System.out.print("book元素的第"+(i+1)+"个属性名是:"
+attributes.getQName(i));
System.out.println("---属性值是:"
+attributes.getValue(i));
//把bookid写入对象
if(attributes.getQName(i).equals("id")){
book.setId(attributes.getValue(i));
}else if(!qName.equals("book") && !qName.equals("bookstore")){
System.out.print("节点名是:"+qName+"-----");
public void endElement(String uri, String localName, String qName) throws SAXException {
//调用DefaultHandler类的endElemnet方法
super.endElement(uri, localName, qName);
//判断是否针对一本书已经遍历结束
if(qName.equals("book")){
bookList.add(book);
System.out.println("===========结束遍历第"+bookIndex+"本书的内容===============");
else if(qName.equals("name")){
book.setName(value);
else if(qName.equals("author")){
book.setAuthor(value);
else if(qName.equals("year")){
book.setYear(value);
else if(qName.equals("price")){
book.setPrice(value);
else if(qName.equals("language")){
book.setLanguage(value);
@Override public void characters(char[] ch, int start, int length) throws SAXException {
// TODO Auto-generated method stub
super.characters(ch, start, length);
value=new String(ch, start, length);
if(!value.trim().equals("")){
System.out.println("节点值是:"+value);
} }}请问到底哪里错了啊,
book类的代码放到楼下啦。
另外包名没错,我命的名就是immoc哈哈
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)为什么我用百度输入法打字出现null这个东西_百度知道
为什么我用百度输入法打字出现null这个东西
我有更好的答案
null意思就是没有。
可以清除该应用的数据
为您推荐:
其他类似问题
百度输入法的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么我回复别人总是提示null_百度知道
为什么我回复别人总是提示null
我有更好的答案
单击【确定】;3、依次单击【开始】→【程序】→【金蝶K3】,再依次单击【金蝶K3服务器配置工具】→【账套管理】;4;2;5请按照下列步骤操作:1、依次单击【开始】→【程序】→【Microsoft SQL Server】、输入“账套管理”用户名和密码,单击【确定】,单击选择【企业管理器】(Sql server 2000)或【Management Studio】(Sql server 2005或Sql server 2008),右键单击【KDAcctDB】,依次单击选择【所有任务】→【分离数据库】、依次双击展开【local】→【数据库】
采纳率:96%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 dnf右上角倒计时 的文章

 

随机推荐