2011-01-13 83 views
0

hii every one ,,,在下面的代碼片段中解析了一個在互聯網上使用url訪問的xml文件,但是我需要解析一個本地xml(說文件存儲在項目中的XML文件夾)請任何一個給我的語法來加載本地XML的路徑,在URL的地方,,,(我是全新的Android),thanx提前在android xml解析器中將URL路徑更改爲本地xml路徑

public class XMLComplaint extends Activity {0,0,0,0} private int window = 0; 私有字符串s1,s2,s3,s4,s5,s6; String str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11,str12,str13,str14,sidsize; private ArrayList notedetails = new ArrayList(); ArrayList problemdetails = new ArrayList(); ArrayList totaldetails = new ArrayList();

private ImageButton left,right; 
private TextView Gid; 
     ListView notelist = null,problemlist=null,totallist=null; 
private ArrayAdapter<String> totaladapter = null; 
private List<GroupInfo> commonlist ; 

private GroupInfo gi ; 
MyHandler myhandler=new MyHandler(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Gid=(TextView)findViewById(R.id.Gid); 
    left=(ImageButton)findViewById(R.id.left); 
    right=(ImageButton)findViewById(R.id.right); 

    totallist = (ListView) this.findViewById(R.id.Listview1); 

    try { 
     URL myurl=new URL("http://www.compliantbox.com/docprocessor/sync.php"); 
     SAXParserFactory spf=SAXParserFactory.newInstance(); 
     SAXParser sp=spf.newSAXParser(); 
     XMLReader xr=sp.getXMLReader(); 

     xr.setContentHandler(myhandler); 
     xr.parse(new InputSource(myurl.openStream())); 

     commonlist=myhandler.getGroups(); 

    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (ParserConfigurationException e) { 
     e.printStackTrace(); 
    } catch (SAXException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    if(commonlist != null){ 
     gi= commonlist.get(window); 
     Gid.setText(gi.getGroupName()); 
     notedetails.addAll(gi.getNoteNameList()); 
     problemdetails.addAll(gi.getProblemNameList()); 
     totaldetails.addAll(notedetails); 
     totaldetails.addAll(problemdetails); 
     totaladapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.datalook,totaldetails); 
     totallist.setAdapter(totaladapter); 

     left.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       right.setEnabled(true); 
       window--; 
       if(window>=0){ 
        notedetails.clear(); 
        problemdetails.clear(); 
        totaldetails.clear(); 
        gi= commonlist.get(window); 
        Gid.setText(gi.getGroupName()); 
        notedetails.addAll(gi.getNoteNameList()); 
        problemdetails.addAll(gi.getProblemNameList()); 
        totaldetails.addAll(notedetails); 
        totaldetails.addAll(problemdetails); 
        totaladapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.datalook,totaldetails); 
        totallist.setAdapter(totaladapter); 
       }else{ 
        left.setEnabled(false); 
        window++; 
        } 
      }}); 

回答

0

你可以嘗試讓輸入流到你的資源:

InputStream is = getResources().openRawResource(R.xml.my_xml); 
.... 
xr.parse(new InputSource(is))); 

相反的:

URL myurl=new URL("http://www.compliantbox.com/docprocessor/sync.php"); 
... 
xr.parse(new InputSource(myurl.openStream())); 

希望它能幫助:)

+0

thanx的烏拉圭回合的答覆, ,沒有它的崩潰,我沒有得到輸出 – Sowmya 2011-01-14 07:16:36