Java SAX解析器返回null
我试图解析一个在线XML文档,但是当我运行以下代码时,它在Java SAX解析器返回null,java,android,xml,saxparser,Java,Android,Xml,Saxparser,我试图解析一个在线XML文档,但是当我运行以下代码时,它在get()方法中返回一个空异常。我尝试进一步调试,以了解inputstream可能返回空值。有人知道怎么了吗 public class XMLHelper extends DefaultHandler{ private String URL_MAIN = "https://www.ura.gov.sg/LsmMap/xml/lsm-test.xml"; String TAG = "XMLHelper"; Boolean currTag
get()
方法中返回一个空异常。我尝试进一步调试,以了解inputstream可能返回空值。有人知道怎么了吗
public class XMLHelper extends DefaultHandler{
private String URL_MAIN = "https://www.ura.gov.sg/LsmMap/xml/lsm-test.xml";
String TAG = "XMLHelper";
Boolean currTag = false;
String currTagVal = "";
private PostValue post ;
private ArrayList<PostValue> postsList = new ArrayList<PostValue>();
//to read the XML
public void get() {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser mSaxParser = factory.newSAXParser();
XMLReader mXmlReader = mSaxParser.getXMLReader();
mXmlReader.setContentHandler(this);
InputStream mInputStream = new URL(URL_MAIN).openStream();
mXmlReader.parse(new InputSource(mInputStream));
} catch (Exception e) {
Log.e(TAG, "Exception123: " + e.getMessage());
}
}
公共类XMLHelper扩展了DefaultHandler{
专用字符串URL_MAIN=”https://www.ura.gov.sg/LsmMap/xml/lsm-test.xml";
String TAG=“XMLHelper”;
布尔currTag=false;
字符串currTagVal=“”;
私人岗位;
private ArrayList postsList=new ArrayList();
//读取XML的步骤
公开作废获取(){
试一试{
SAXParserFactory=SAXParserFactory.newInstance();
SAXParser mSaxParser=factory.newSAXParser();
XMLReader mXmlReader=mSaxParser.getXMLReader();
mXmlReader.setContentHandler(这个);
InputStream mInputStream=新URL(URL_MAIN).openStream();
parse(新输入源(mInputStream));
}捕获(例外e){
Log.e(标记“Exception123:+e.getMessage());
}
}
}从您在此处添加的代码中删除不必要的行。发布最少的代码来理解问题。还要将堆栈跟踪/错误详细信息添加到问题中。特别是,您捕获的异常的消息和堆栈跟踪(带有奇怪的注释“但是,这是关于XML解析而不是关于异常处理”)在这里非常有用。@BalkrishnaRawool删除了多余的代码。我只是尝试运行您的代码。它很好用。顺便说一句,您仍然可以删除未使用的变量。您还没有添加任何错误消息/堆栈跟踪。显示的错误消息在此类中是get()方法的null异常。