2011-11-25 51 views
0

我有一個XML文件解析這些xml文件值...我如何能在Android的

<?xml version="1.0" ?> 
-<dict> 
    <ID>USDUSD</ID> 
    <VALUE>0.00</VALUE> 
    <ID>USDGBP</ID> 
    <VALUE>0.6465</VALUE> 
    <ID>USDEUR</ID> 
    : 
    : 
</dict> 

的我試着用SAX解析器與下面的代碼

private boolean getUpdatedCurrencyValue(Context context) { 
    try { 

     /** Handling XML */ 
     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     SAXParser sp = spf.newSAXParser(); 
     XMLReader xr = sp.getXMLReader(); 

     /** Send URL to parse XML Tags */ 

     URL sourceUrl = new URL("http:..../currencyconv.php"); 
     /** Create handler to handle XML Tags (extends DefaultHandler) */ 
     XMLHandler myXMLHandler = new XMLHandler(); 
     xr.setContentHandler(myXMLHandler); 
     InputSource is=new InputSource(sourceUrl.openStream()); 
     Log.d("DEBUG",""+is); 
     xr.parse(is); 
     if(myMap!=null){ 
       myMap.clear(); 
     } 


     for (int i = 0; i < XMLHandler.countriesNames.size(); i++) { 
      myMap.put(XMLHandler.countriesNames.get(i), XMLHandler.currencyValues.get(i)); 
      log(XMLHandler.countriesNames.get(i)+" "+ XMLHandler.currencyValues.get(i)); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
     isError=true; 


    } 
} 



public class XMLHandler extends DefaultHandler{ 

int counter=0; 
protected static ArrayList<String> backupCurrencyValues = new ArrayList<String>(); 

//protected static String[] currencyValues=new String[290]; 
protected static ArrayList<String> currencyValues = new ArrayList<String>(); 
protected static ArrayList<String> countriesNames = new ArrayList<String>(); 
    // private String[] countriesNames=new String[290]; 
    public XMLHandler() { 
    counter=0; 
    } 


@Override 
public void characters(char ch[], int start, int length) { 
     String temp=new String(ch,start,length); // this function retrieves values a from a tag each time 
     Log.d("CURRENCY","Original "+temp); 

     } 

}

這函數每次從標籤檢索值a

但希望基於標籤的值..任何幫助嗎?

+0

你應該表明你正在嘗試的完整代碼。 –

+0

然後你應該選擇Pull-Parser – ingsaurabh

+0

這是使用SAX解析非常簡單的XML。 http://www.google.co.in/#hl=zh-CN&cp=19&gs_id=2k&xhr=t&q=android+SAX+parser+example –

回答