Так что у меня есть файл в папке моих папок, в которой я читаю. Я читаю его без ошибок. Но вот пример записи или элемента в XML-файле. (Я вынул реальные ценности и положить поддельные данные)Как обрабатывать xml с пустым тегом в android ?? Нравится <pager/>
<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>
В любом случае, я создал объект и прочитал все правильно, за исключением случаев, таких как Пейджер и managerpager исключением. Вот что читается или я думаю, что читается как значение из xml.
V/value of pager after set Text﹕ [ 02-17 12:16:25.476 17462:17462 D/Activity ]
performCreate Call secproduct feature valuefalse
В идеале, что я хочу сделать, это установить значение Пейджер для N/A, так как нет никакого значения в XML для него. Но я не уверен, как это сделать, поскольку я не очень ценю всякий раз, когда разбираю его. Я попытался взять подстроку этой строки, которую я распечатываю, но я не могу взять подстроку.
Вот как я беру subsring и то, что он печатает
подстроки и как я пытался установить значение N/A в TextView я создал (mOnCallPager).
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
Любая помощь будет полезна. Thanks
Heres мой анализ 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();
}