2011-01-13 13 views
0

hiiすべての,,,次のコードスニペットでは、XMLファイルをインターネット上で解析しています.URLを使用してアクセスしていますが、私はローカルXMLを解析する必要がありますプロジェクト内のxmlフォルダに保存されているファイル)は、URL xの代わりにローカルxmlのパスをロードする構文を私に与えることができます。(私は安心してアンドロイドになりました)、ありがとうございましたandroid xmlパーサーのURL xmlパスにURLパスを変更

パブリッククラスXMLComplaintはアクティビティを拡張します{ private int window = 0; プライベート文字列s1、s2、s3、s4、s5、s6; 文字列str1、str2、str3、str4、str5、str6、str7、str8、str9、str10、str11、str12、str13、str14、sidsize; private ArrayList markedetails = 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

ありがとうを役に立てば幸い、クラッシュはありません、出力が得られません – Sowmya

+0

例外は何ですか? – androdevo

+0

遅れて申し訳ありませんが、クラッシュするとdisply画面が読み込まれていますが、解析されたcomtentsは表示されません – Sowmya