我有一个xml文件,其属性如下:
<folder name = 'somename' description = ''/>
我想将description属性显示为'null'但强制关闭并在LogCat中抛出FATAL Exception main。
我在startElement()方法下面有这段代码
if (localName.equalsIgnoreCase("folder")) {
/** Get attribute value */
if(attributes.getValue("description")== "null"){
parseList.setFolderdesc(null);
}else{
String desc = attributes.getValue("description");
parseList.setFolderdesc(desc);
}
我尝试了这段代码,但没有运气...... 如何在不更改我的xml文件的情况下解决这个问题?
答案 0 :(得分:1)
尝试使用以下代码
String desc = null;
try{
desc = attributes.getValue("description");
if((desc == null) || (desc.length()<=0)){
desc = null;
}
}catch(Exception ex){
desc = null;
}
if(parseList != null){
parseList.setFolderdesc(desc);
}
答案 1 :(得分:1)
此代码无法满足您的期望:
if (attributes.getValue("description") == "null") {
您正在将属性值与字符串"null"
进行比较,而不是使用java null
进行比较。 (而且你也在测试不安全的字符串!使用String.equals()
而不是==
运算符来测试字符串的相等性。)
该测试应写成如下:
if (attributes.getValue("description") == null) {
或更好:
if (attributes.getValue("description") == null ||
attributes.getValue("description").isEmpty()) {
(我不确定这是否能解决你的问题,因为我不明白你的问题描述。)