请帮我瞧瞧,为什么总是不能返回值?
package com.bang.util;import javax.xml.parsers.*;import org.xml.sax.*;
import org.xml.sax.helpers.*;import java.io.*;
import java.util.*;public class XmlReader extends DefaultHandler {
public static String valueName = null;

private String cnName;

public void setCnName(String cnName) {
this.cnName = cnName;
}

public String getCnName() {
return this.cnName;
} public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException 
{ }
public void characters(char[] ch,int offset,int length) throws SAXException {

String str = new String(ch,offset,length);

if ("DDL_GameName".equalsIgnoreCase(str)) {
this.cnName = str;
} } public void get() {
try {
SAXParserFactory spfactory = SAXParserFactory.newInstance();
SAXParser parser = spfactory.newSAXParser();

parser.parse(new File("e:\\game.xml"),new XmlReader()); } catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args) {
XmlReader reader = new XmlReader(); System.out.println(reader.getCnName()); }}

解决方案 »

  1.   

    你调用reader.get();  了吗
      

  2.   

    private String cnName 这个是私有 只有同类用get()调用
      

  3.   

    public void get() {
    try {
    SAXParserFactory spfactory = SAXParserFactory.newInstance();
    SAXParser parser = spfactory.newSAXParser();parser.parse(new File("e:\\game.xml"),new XmlReader());} catch (Exception ex) {
    ex.printStackTrace();
    }
    }
    这个方法没调用到,也没有写对巴?
      

  4.   

    reader.get();在什么地方调用?修改为以下,还是不行。 public static void main(String[] args) {
    XmlReader reader = new XmlReader();
    reader.get();

    System.out.println(reader.getCnName()); }
      

  5.   

    public void characters(char[] ch,int offset,int length) throws SAXException {String str = new String(ch,offset,length);if ("DDL_GameName".equalsIgnoreCase(str)) {
    this.cnName = str;
    }
    检查这个函数是否正确,重点是"DDL_GameName".equalsIgnoreCase(str)是不是为真
      

  6.   

    猜想DDL_GameName可能在你的xml文档中不存在