会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 134311个问题

package com.bjsxt.dom;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class BookDefaultHandler extends DefaultHandler {
    //重写1
    /**解析xml文档开始时调用*/
    @Override
    public void startDocument() throws SAXException {
        super.startDocument();
        System.out.println("解析xml开始");
    }
    /**解析xml文档结束时调用*/
    @Override
    public void endDocument() throws SAXException {
        super.endDocument();
        System.out.println("解析结束");
    }
    /**解析xml中节点时调用*/
    @Override
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        super.startElement(uri, localName, qName, attributes);
       // System.out.println("解析xml中节点时调用");
        //判断如果是book节点,就获取节点的属性和属性值
        if ("book".equals(qName)){
            //获取所有属性
            int count = attributes.getLength();//=个数
            for (int i = 0;i < count ;i++){
                String attName = attributes.getQName(i);
                String attValue = attributes.getValue(i);
                System.out.println("属性名称:"+attName+"\t值为:"+attValue);
            }
        }else if (!"book".equals(qName) && !"books".equals(qName)){
            System.out.println("节点名称:"+qName);
        }
    }
    /**解析xml中节点结束时调用*/
    @Override
    public void endElement(String uri, String localName, String qName) throws SAXException {
        super.endElement(uri, localName, qName);
       //System.out.println("解析xml中节点结束时调用");
    }

    @Override
    public void characters(char[] ch, int start, int length) throws SAXException {
        super.characters(ch, start, length);
        String value = new String(ch, start, length);
        if ("".equals(value.trim())){
            System.out.println(value);
        }
    }
}

在这个重写的characters里面,我的这个value并没有值,并且还是有空白。这是什么原因呢?


image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 2371楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2373楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 2374楼

XML文件.zip

老师帮帮忙,看了一下午,错误也没有解决了

image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 2375楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 2376楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 2377楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 2378楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 2379楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 2381楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2384楼

老师,这是代码

import java.util.Calendar;
import java.util.*;

public class TestCalendar {
    public static void main(String[] args) {

        //得到日期相关元素
        GregorianCalendar calendar = new GregorianCalendar
                (2020, 12, 13, 15, 19, 12);
        int year = calendar.get(Calendar.YEAR);
        int month=calendar.get(Calendar.MONTH);
        int day=calendar.get(Calendar.DAY_OF_MONTH);
        int day2=calendar.get(Calendar.DATE);
        //日,Calendar.DAT_OF_MONTH和Calendar.DATE同义。
        int date=calendar.get(Calendar.DAY_OF_WEEK);
        //星期几,这里是1-7,周日是1,周一是7
        System.out.println(year);
        System.out.println(month);
        System.out.println(day);
        System.out.println(day2);
        System.out.println(date);

        //设置日期
        GregorianCalendar calendar2=new GregorianCalendar();
        calendar2.set(Calendar.YEAR,1997);
        calendar2.set(Calendar.MONTH,9);     //月份0-11
        calendar2.set(Calendar.DATE,3);
        calendar2.set(Calendar.HOUR_OF_DAY,12);
        calendar2.set(Calendar.MINUTE,13);
        calendar2.set(Calendar.SECOND,14);
        printCalendar(calendar2);

        //日期计算
        GregorianCalendar calendar3=new GregorianCalendar
                (2020,11,13,11,22,33);
        calendar3.add(Calendar.MONTH,-1);
        calendar3.add(Calendar.DATE,+1);
        printCalendar(calendar3);

        //日历对象和时间对象的转化
        Date d=calendar3.getTime();
        GregorianCalendar calendar4=new GregorianCalendar();
        calendar4.setTime(new Date());

        static void printCalendar(Calendar calendar){
            int year2 =calendar.get(Calendar.YEAR);
            int month2=calendar.get(Calendar.MONTH)+1;
            int day3=calendar.get(Calendar.DATE);
            int date2=calendar.get(Calendar.DAY_OF_WEEK)-1;   //星期几
            String week=""+((date==0)?"日":date);

            int hour=calendar.get(Calendar.HOUR);
            int minute=calendar.get(Calendar.MINUTE);
            int second=calendar.get(Calendar.SECOND);
            System.out.println("yyyy年MM月dd日 hh时ff分mm秒");

        }


    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 2385楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637