0

XML パーサーを使用して XML ファイルから読み取っています。

XML パーサーは最初の行を null として読み取り、そのように作成された xml ファイルから他のデータを返します。

XML 解析コードは次のとおりです。

XmlResourceParser parser = getResources().getXml(R.xml.contacts);

        int eventType = -1;
        try {
            while (eventType != XmlResourceParser.END_DOCUMENT) 
            {
                if(eventType == XmlResourceParser.START_TAG) 
                {
                    if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null"))
                        col.append(parser.getAttributeValue(null, "name") + "\n");
                        col.append(parser.getAttributeValue(null, "phone") + "\n \n");
                }
                eventType = parser.next();
            }
        }
        catch (XmlPullParserException e) {

            e.printStackTrace();
        }

以下は XML ファイルです。

<?xml version="1.0" encoding="utf-8"?>
<contacts>
    <contact name="Prathama Blood Center" phone="079 26600101" />
    <contact name="Green Cross" phone="079 25507013"/>
    <contact name="Crossworld Blood Bank" phone="079 26568004"/>
    <contact name="Adarsh Voluntary Blood Bank" phone="079 22746672"/>
    <contact name="Red Cross" phone="079 27551790"/>
</contacts>

以下は私が得ている画面です:

ここに画像の説明を入力

4

1 に答える 1

2

if現在、あなたの唯一のスコープは最初col.appendに拡張されています.ifステートメントが必要な理由がわかりません(決して真ではないため)スコープは次のとおりです。

if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null"))
{ //here
    col.append(parser.getAttributeValue(null, "name") + "\n");
    col.append(parser.getAttributeValue(null, "phone") + "\n \n");
}//and here 
于 2012-09-01T03:25:09.983 に答える