0

在我的 xml 文件中,我有两个或多个父节点,例如:-

//父节点pizza //属性是1 Veg Pizza
//父节点burger
//属性是1 Veg Burger,

每当用户单击比萨listview项目时,用户应该只能查看另一个活动中的比萨项目列表listview。我知道如何调用下一个活动等等,但我想知道如何在我的 java 类中使用不同的父节点,我需要在我的 java 类中做哪些更改,请看这个链接,我正在使用本教程,但这里他们只使用一个父节点歌曲,但我想添加更多,我已经添加到我的 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 回答