用sax解析xml,结果解析结果为空,为什么

这是我解析的xml

<?xml version="1.0" encoding="UTF-8"?>
<dict num="219" id="219" name="219">
    <key>try</key>
    <ps>traɪ</ps>
    <ps>traɪ</ps>
    <pos>vt.&amp; vi.</pos>
    <acceptation>试图,努力;实验;审判;考验;
</acceptation>
    <pos>n.</pos>
    <acceptation>尝试,实验;[橄]触球,(因触球获得的)向球门踢球的权利;
</acceptation>
    <sent>
        <orig>
If at first you don't succeed, try, try , and try again.
</orig>
        <trans>
如果开始不成功, 那就一试再试下去.
</trans>
    </sent>
    <sent>
        <orig>
If you don't succeed at first , try , try , try again.
</orig>
        <trans>
起初不成功, 再三尝试.
</trans>
    </sent>
    <sent>
        <orig>
If at first you don't succeed try , try , try again is a familiar precept.
</orig>
        <trans>
如你最初不成功, 再试试看''是一句教诲.
</trans>
    </sent>
    <sent>
        <orig>
I try to play fair and I try to control my striker with fair play.
</orig>
        <trans>
我努力做到公平竞赛,和我的对手踢得干净一些.
</trans>
    </sent>
    <sent>
        <orig>
You try this and try that, so you're sure to get nowhere.
</orig>
        <trans>
你试试这个又试试那个, 却毫无进展.
</trans>
    </sent>
</dict>


这是我解析该xml的代码,采用sax来解析xml

package com.example.word.Handler;

import android.util.Log;

import com.example.word.Bean.SentenceBean;
import com.example.word.Bean.WordsBean;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import java.util.ArrayList;

public class UserHandler extends DefaultHandler {

    private WordsBean wordsBean = null;
    private ArrayList<WordsBean> wordsBeanList = null;
    private ArrayList<SentenceBean> sentenceBeanList = null;
    private String name;
    private SentenceBean sentenceBean;
    ArrayList<String> yinbiao;
    ArrayList<String> cixing;
    ArrayList<String> ciyi;

    @Override
    public void startDocument() throws SAXException {
        super.startDocument();
        wordsBeanList = new ArrayList<>();
        sentenceBeanList=new ArrayList<>();
        yinbiao=new ArrayList<>();
        cixing=new ArrayList<>();
        ciyi=new ArrayList<>();
    }

    @Override
    public void endDocument() throws SAXException {
        super.endDocument();
    }

    @Override
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        super.startElement(uri, localName, qName, attributes);
        if(qName.equals("dict")){
            wordsBean=new WordsBean();
        }
        if(qName.equals("sent")){
           sentenceBean=new SentenceBean();
        }
        name = qName;
    }

    @Override
    public void endElement(String uri, String localName, String qName) throws SAXException {
        super.endElement(uri, localName, qName);
        if ("dict".equals(qName)){
            wordsBean.setLiju(sentenceBeanList);
            wordsBean.setYinbiao(yinbiao);
            wordsBean.setCixing(cixing);
            wordsBean.setExplain(ciyi);
            wordsBean.setLiju(sentenceBeanList);
            wordsBean=new WordsBean(wordsBean.getWord(),wordsBean.getExplain(),wordsBean.getCixing(),wordsBean.getLiju(),wordsBean.getYinbiao());
            wordsBeanList.add(wordsBean);
        }
        if("sent".equals(qName)){
            Log.e("例句",sentenceBean.getOrig());
            Log.e("例句释义",sentenceBean.getTrans());
            sentenceBeanList.add(sentenceBean);
            sentenceBean=null;
        }
        name=null;
    }

    @Override
    public void characters(char[] ch, int start, int length) throws SAXException {
        super.characters(ch, start, length);
        String str = new String(ch, start, length).trim();
            if ("key".equals(name)) {
                wordsBean.setWord(str);
            }
            if ("ps".equals(name)) {
                yinbiao.add(str);
            }
            if ("pos".equals(name)) {
                cixing.add(str);
            }
            if ("acceptation".equals(name)) {
                ciyi.add(str);
            }
            if ("orig".equals(name)) {
                this.sentenceBean.setOrig(str);
            }
            if ("trans".equals(name)) {
                this.sentenceBean.setTrans(str);
            }
    }

    public ArrayList<WordsBean> getWordsBeanList() {
        return wordsBeanList;
    }

}



问题是无论我采用什么办法,在endelement方法中,这个例句(sentenceBean.getOrig())和例句释义("例句释义",sentenceBean.getTrans())的结果总是为空,打印了Log.e无法显示,这是为什么。怎么解决呢。