所以我在我读取的assests文件夹中有一个文件。 我正在阅读它没有错误。但这是xml文件中记录或项目的示例。 (我拿出了真正的价值并把假数据放进去了)
<record>
<group> MYGROU </group>
<name> Person </name>
<title> (MG1217) LEADER </title>
<businessphone> 111-111-1111 </businessphone>
<pager/>
<email> email.org </email>
<managername> BOSS </managername>
<managerbusinessphone> 1919191919 </managerbusinessphone>
<managerpager/>
<manageremail> email.org </manageremail>
</record>
无论如何,除了像Pager和managerpager这样的情况之外,我创建了一个对象并正确读取所有内容。这是读入的内容,或者我认为是从xml中读取的值。
V/value of pager after set Text﹕ [ 02-17 12:16:25.476 17462:17462 D/Activity ]
performCreate Call secproduct feature valuefalse
理想情况下,我想要做的是将Pager的值设置为N / A,因为xml中没有值。但我不知道如何解决这个问题,因为每当我解析它时,我并没有真正提取一个值。我试图取出我打印出来的那个字符串的子串,但我甚至不能接受它的子串。
以下是我如何拍摄子圈以及打印出来的内容
子串以及我如何在我创建的Textview(mOnCallPager)中将值设置为N / A.
Log.v("substring value of pager ", item.getMpager().substring(0,5));
if(item.getMpager().substring(0,2).equals(" ["))
{
mOnCallPager.setText("N/A");
}
else
mOnCallPager.setText(item.getMpager());
打印出来的值
02-17 12:29:43.516 22838-22838/com.example.jaimejahuey.novanthealthmobile V/substring value of pager﹕ [ 02-17 12:29:43.516 22838:22838 D/Activity ]
performCreate Call secproduct feature valuefalse
任何帮助都会有所帮助。 感谢
继承我对xml的解析。
switch (evenType)
{
//make a new contact whenever the startag is record
case XmlPullParser.START_TAG:
if(tagname.equalsIgnoreCase("record"))
{
contact = new OnCallContact();
}
break;
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if(tagname.equalsIgnoreCase("record"))
{
contacts.add(contact);
}
else if (tagname.equalsIgnoreCase("group"))
{
contact.setMgroup(text);
}
else if (tagname.equalsIgnoreCase("name"))
{
contact.setMname(text);
}
else if (tagname.equalsIgnoreCase("title"))
{
contact.setMtitle(text);
}
else if (tagname.equalsIgnoreCase("businessphone"))
{
contact.setMbusinessPhone(text);
}
else if (tagname.equalsIgnoreCase("pager"))
{
contact.setMpager(text);
}
else if (tagname.equalsIgnoreCase("email"))
{
contact.setMemail(text);
}
else if (tagname.equalsIgnoreCase("managername"))
{
contact.setmManagerName(text);
}
else if (tagname.equalsIgnoreCase("managerbusinessphone"))
{
contact.setmManagerBusinessPhone(text);
}
else if (tagname.equalsIgnoreCase("managerpager"))
{
contact.setmManagerPager(text);
}
else if (tagname.equalsIgnoreCase("manageremail"))
{
contact.setmManagerEmail(text);
}
break;
default:
break;
}
evenType = parser.next();
}
答案 0 :(得分:0)
只是因为有人遇到过这个问题,它就是解析器会抓取的空白。我的长度是9。所以它只是一个空白。无论如何,如果你在获取值时没有得到null,那么你很可能像我一样抓住空白。 (每当阅读文本时修剪,这样空标签的长度为0,并做任何你需要做的空标签)