0

私のxmlファイルには次のような2つ以上の親ノードがあります:-

//親ノードピザ//属性は1ベジピザ
//親ノードバーガー
//属性は1ベジバーガー、

ユーザーがピザアイテムをクリックするたびに、ユーザーlistviewは別のアクティビティのピザアイテムのリストのみを表示できるようになりますlistview。次のアクティビティなどを呼び出す方法は知っていますが、Javaクラスでさまざまな親ノードを使用する方法を知りたいのですが、Javaクラスで行う必要のある変更は正確に何ですか。このリンクを参照してください。このチュートリアルですが、ここでは親ノードの曲を1つだけ使用していますが、さらに追加したいので、xmlファイルに追加しましたが、Javaクラスで何を変更する必要があるのか​​わかりません。

4

1 に答える 1

0
carrier.xml ile contains below xml contents
<?xml version="1.0" encoding="utf-8"?>
<carrier>
    <vehicle>
        <vehicle
            cid="1"
            cname="TAXI" />
        <vehivle
            cid="0"
            cname="AUTO" />
   </vehicle>

// In your code 
XmlPullParser xpp=null;
int eventType = 0;
XmlPullParserFactory factory =null;
BufferedReader bufr=null;   
StringBuilder total ="";
     try{           
    bufr = new BufferedReader(new FileReader("/carrier.xml"));
    total = new StringBuilder();
    String line=""; 
    while ((line = bufr.readLine()) != null)
    {     
    total.append(line);
    }                       
    factory = XmlPullParserFactory.newInstance();  
    factory.setNamespaceAware(true);   
    xpp = factory.newPullParser();   
    xpp.setInput(new StringReader(new String(total)));                  
    eventType = xpp.getEventType();             
    }catch(XmlPullParserException e){
    // Log.v("xmlpullparser"," "+e);
    e.printStackTrace();
    }catch(IOException ie){
    // Log.v("IOException"," "+ie);
    ie.printStackTrace();
    }


    try{
    while (eventType != XmlPullParser.END_DOCUMENT){                    
    if(eventType == XmlPullParser.START_TAG){ 
    String Scid="",Scname="";
    int acount=xpp.getAttributeCount();             
    if(acount!=-1){
    for(int x=0;x<acount;x++){                                              
                        if(xpp.getAttributeName(x).equalsIgnoreCase("cid")){
                            Scid=xpp.getAttributeValue(x);                                                                                  
                        }if(xpp.getAttributeName(x).equals("cname")){
                            Scname=xpp.getAttributeValue(x);
                        }
                    }               
    }   
    }       
    eventType = xpp.next();  
    }                               
    }catch(Exception e){        
            e.printStackTrace();
    }

After this you can use the Scid Scname etc in your code as per your convenience
于 2012-10-08T06:34:58.900 に答える