2010-07-02 160 views
0

試圖使用以下代碼解析res/xml中的xml文件。但是當啓動項目時,它顯示一個異常「沒有這樣的文件/目錄」。是否在代碼中有任何錯誤? 立即給我一個答案。提前感謝。Android中的DOM解析器

try 
    { 
     DocumentBuilderFactory docBuilderFactory=DocumentBuilderFactory.newInstance(); 
     DocumentBuilder docBuilder=docBuilderFactory.newDocumentBuilder(); 
     *Document doc=docBuilder.parse(new File("project_data.xml"));* 
     NodeList projects=doc.getElementsByTagName("PROJECTDESC"); 
     for(int i=0;i<projects.getLength();i++) 
     { 
      Element project=(Element)projects.item(i); 
      ProjectData projectdata=new ProjectData(null, null, null, null, null, null); 

      projectdatas.add(projectdata); 
      projectdata.setProject(project.getFirstChild().getNodeValue()); 
      projectdata.getProject(); 
     } 
    } 
catch (Throwable t) { 
     Toast.makeText(this, "Request failed: "+t.toString(), 4000).show(); 
    } 

XML文件是

<?xml version="1.0" encoding="ISO-8859-1"?> 
<Results> 
    <Row> 
     <PROJECTID>1000</PROJECTID> 
     <PROJECTDESC>ERP Tool</PROJECTDESC> 
     <MANAGER>John Jakes</MANAGER> 
     <SPONSOR>Gregory Mallor</SPONSOR> 
     <STARTDATE>02-01-2010</STARTDATE> 
     <PLANNEDCOMPDATE>06-21-2010</PLANNEDCOMPDATE> 
     <PROBABLECOMPDATE>06-30-2010</PROBABLECOMPDATE> 
     <STATUS>Active</STATUS> 
     <PLNRSK>59.5065</PLNRSK> 
     <EPLRSK/> 
     <EPRRSK/> 
     <BDTRSK/> 
     <ACTUALCOMPDATE/> 
     <MILESTONETOLERANCE>2</MILESTONETOLERANCE> 
     <ACTIVITYTOLERANCE>1</ACTIVITYTOLERANCE> 
     <WORKFLOWID>10002</WORKFLOWID> 
     <CREATED>02/10/2010 16:20:43 PM</CREATED> 
    </Row> 
    <Row> 
     <PROJECTID>1001</PROJECTID> 
     <PROJECTDESC>CMS Implementation</PROJECTDESC> 
     <MANAGER>Florence Marie</MANAGER> 
     <SPONSOR>Gregory Mallor</SPONSOR> 
     <STARTDATE>02-11-2010</STARTDATE> 
     <PLANNEDCOMPDATE>02-16-2010</PLANNEDCOMPDATE> 
     <PROBABLECOMPDATE>02-17-2010</PROBABLECOMPDATE> 
     <STATUS>Open</STATUS> 
     <PLNRSK/> 
     <EPLRSK/> 
     <EPRRSK/> 
     <BDTRSK/> 
     <ACTUALCOMPDATE/> 
     <MILESTONETOLERANCE>1</MILESTONETOLERANCE> 
     <ACTIVITYTOLERANCE>1</ACTIVITYTOLERANCE> 
     <WORKFLOWID>10004</WORKFLOWID> 
     <CREATED>02/10/2010 17:07:14 PM</CREATED> 
    </Row> 
    <Row> 
     <PROJECTID>1002</PROJECTID> 
     <PROJECTDESC>Key Account Manager Recruiting</PROJECTDESC> 
     <MANAGER>Florence Marie</MANAGER> 
     <SPONSOR>John Jakes</SPONSOR> 
     <STARTDATE>02-11-2010</STARTDATE> 
     <PLANNEDCOMPDATE>02-13-2010</PLANNEDCOMPDATE> 
     <PROBABLECOMPDATE>02-13-2010</PROBABLECOMPDATE> 
     <STATUS>Open</STATUS> 
     <PLNRSK/> 
     <EPLRSK/> 
     <EPRRSK/> 
     <BDTRSK/> 
     <ACTUALCOMPDATE/> 
     <MILESTONETOLERANCE>1</MILESTONETOLERANCE> 
     <ACTIVITYTOLERANCE>1</ACTIVITYTOLERANCE> 
     <WORKFLOWID>10009</WORKFLOWID> 
     <CREATED>02/10/2010 17:07:18 PM</CREATED> 
    </Row> 
    <Row> 
     <PROJECTID>1003</PROJECTID> 
     <PROJECTDESC>Fast Food Regional Market Analysis</PROJECTDESC> 
     <MANAGER>John Jakes</MANAGER> 
     <SPONSOR>Florence Marie</SPONSOR> 
     <STARTDATE>02-12-2010</STARTDATE> 
     <PLANNEDCOMPDATE>02-16-2010</PLANNEDCOMPDATE> 
     <PROBABLECOMPDATE>02-16-2010</PROBABLECOMPDATE> 
     <STATUS>Open</STATUS> 
     <PLNRSK/> 
     <EPLRSK/> 
     <EPRRSK/> 
     <BDTRSK/> 
     <ACTUALCOMPDATE/> 
     <MILESTONETOLERANCE>2</MILESTONETOLERANCE> 
     <ACTIVITYTOLERANCE>1</ACTIVITYTOLERANCE> 
     <WORKFLOWID>10010</WORKFLOWID> 
     <CREATED>02/10/2010 17:07:22 PM</CREATED> 
    </Row> 
    <Row> 
     <PROJECTID>1004</PROJECTID> 
     <PROJECTDESC>ss</PROJECTDESC> 
     <MANAGER>John Jakes</MANAGER> 
     <SPONSOR>Gregory Mallor</SPONSOR> 
     <STARTDATE>02-11-2010</STARTDATE> 
     <PLANNEDCOMPDATE>02-16-2010</PLANNEDCOMPDATE> 
     <PROBABLECOMPDATE>02-17-2010</PROBABLECOMPDATE> 
     <STATUS>Open</STATUS> 
     <PLNRSK/> 
     <EPLRSK/> 
     <EPRRSK/> 
     <BDTRSK/> 
     <ACTUALCOMPDATE/> 
     <MILESTONETOLERANCE>1</MILESTONETOLERANCE> 
     <ACTIVITYTOLERANCE>1</ACTIVITYTOLERANCE> 
     <WORKFLOWID>10080</WORKFLOWID> 
     <CREATED>06/27/2010 19:16:26 PM</CREATED> 
    </Row> 
</Results> 
+1

是的,先生,答案將立刻給予...嘗試成爲一個更禮貌些在你的問題。我們都是這樣做的自願。 – Janusz 2010-07-02 06:37:22

回答

1

如果它給你的例外是「沒有這樣的文件/目錄」,那麼你的錯誤與project_data.xml文件的位置/名稱。查看this資源瞭解Android中的文件存儲的更多信息...您的xml文件可能不在您期望的位置。

1

創建資源\原料 XML文件,然後使用:

Resources res = getResources(); 

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 

DocumentBuilder db = dbf.newDocumentBuilder(); 

InputStream is = res.openRawResource(R.raw.file); 

Document doc=db.parse(new InputSource(is));