这是我的代码:
String Attr = parser.getAttributeValue(null, "name");
String Text = parser.getText();
if (Attr == "id"){
parser.nextTag();
}else if(Attr == "Lektion"){
vocable.setUnit(Text);
parser.nextTag();
}else if(Attr == "Russisch"){
vocable.setRussian(Text);
parser.nextTag();
}else if(Attr == "Umschrift"){
vocable.setTranscript(Text);
parser.nextTag();
}else if(Attr == "Einzelwort"){
int tf = Integer.parseInt(Text);
Boolean bool = null;
switch (tf){
case 0:
bool= false;
break;
case 1:
bool= true;
break;
}
vocable.setSingleWord(bool);
parser.nextTag();
}else if(Attr == "Deutsch"){
vocable.setGerman(Text);
parser.nextTag();
}
我的XML文件的结构:
<database name="russisch">
<table name="vokabel">
<column name="Lektion">1</column>
<column name="id">1</column>
<column name="Russisch">Как дела?</column>
<column name="Umschrift">kak dilá</column>
<column name="Deutsch">Wie geht’s?</column>
<column name="Einzelwort">0</column>
</table>
<table name="vokabel">
<column name="id">2</column>
<column name="Lektion">1</column>
<column name="Russisch">Очень хорошо!</column>
<column name="Umschrift">ótschin charaschó</column>
<column name="Deutsch">Sehr gut!</column>
<column name="Einzelwort">0</column>
</table>
</database>
如果我尝试将属性值与给定的属性值进行比较,它永远不会返回 true,因此 if 语句永远不会被执行。我尝试手动设置戒指,它起作用了。因此,我只需要格式化返回的字符串,但我不知道如何格式化。我真的希望有人能帮忙
不能将字符串与等于运算符进行比较:
Attr == "Einzelwort"
因为字符串是一个对象。 equals 运算符测试两个对象是否是同一对象,因此您将 Attr 与不是同一对象的"Einzelwort"进行比较。
相反,请使用 equals() 方法来比较字符串的字符串值。
Attr.equals("Einzelwort")