0
그래서 코드를 검토하면 xml을 읽을 때 예외가 발생하지 않습니다 ... 제대로 작동합니다.안드로이드에서 XmlPullParser 문제가 발생했습니다
public void ReadXML() throws XmlPullParserException, IOException
{
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
xpp = factory.newPullParser();
InputStream raw = getApplicationContext().getAssets().open("trial_info.xml");
xpp.setInput(raw,null);
}
}
문제는 내가/이w 태그 ... 예를 들어, b를 텍스트를 읽기 위해 노력하고있어 doXML 방법입니다. 19 : 생성
<trial>
<title>The Book</title>
<author></author>
....
</trial>
오차는 18 41.654 : java.io 57 : System.err에/W (329) org.xmlpull.v1.XmlPullParserException 이름 기대 (총수 : @ 59 START_TAG .InputStreamReader @ 44f049c8)
필자는이 코드가 필요 이상으로 복잡하다고 생각하지만 오류를 파악할 수는 없다. 감사합니다
public void doXML() throws XmlPullParserException, IOException{
int eventType = XmlPullParser.START_TAG;
while(eventType != XmlPullParser.END_DOCUMENT)
{
if(eventType == XmlPullParser.TEXT && xpp.getText().equals(selectedTrial))
{
trialTxt = (TextView)findViewById(R.id.TrialAbbrevData);
trialTxt.setText(xpp.getText());
Log.d("what is this", xpp.getText());
while(!(eventType == XmlPullParser.END_TAG && xpp.getName().equals("...")))
{
if(eventType == XmlPullParser.START_TAG && xpp.getName().equals("trialName"))
{
eventType = xpp.next();
if(eventType == XmlPullParser.TEXT)
{
trialTxtDesc = (TextView)findViewById(R.id.TrialNameData);
trialTxtDesc.setText(xpp.getText());
Log.d("in loop",xpp.getText());
}
}
if(eventType == XmlPullParser.START_TAG && xpp.getName().equals("trialDetails"))
{
eventType = xpp.next();
if(eventType == XmlPullParser.TEXT)
{
trialTxtConc = (TextView)findViewById(R.id.TrialDescData);
trialTxtConc.setText(xpp.getText());
}
}
if(eventType == XmlPullParser.START_TAG && xpp.getName().equals("trialResults"))
{
eventType = xpp.next();
if(eventType == XmlPullParser.TEXT)
{
trialTxtConc = (TextView)findViewById(R.id.TrialResultsData);
trialTxtConc.setText(xpp.getText());
}
}
if(eventType == XmlPullParser.START_TAG && xpp.getName().equals("trialConclusion"))
{
eventType = xpp.next();
if(eventType == XmlPullParser.TEXT)
{
trialTxtConc=(TextView)findViewById(R.id.TrialConclusionData);
trialTxtConc.setText(xpp.getText());
}
}
if(eventType == XmlPullParser.START_TAG && xpp.getName().equals("whatItMeans"))
{
eventType = xpp.next();
if(eventType == XmlPullParser.TEXT)
{
trialTxtMeans = (TextView)findViewById(R.id.TrialWIMData);
trialTxtMeans.setText(xpp.getText());
}
}
eventType = xpp.next();
}
}
eventType = xpp.next();
}
}
XML 파일의 37-42 행을 게시 할 수 있습니까? –
실수로 태그에 같은 대소 문자를 사용하지 않으면이 문제가 발생할 수 있습니다. 먼저 짧은 테스트 XML 파일을 사용해 보셨습니까? – Lumis