2010-07-02 6 views
0

다음 코드를 사용하여 res/xml의 xml 파일을 구문 분석하려고 시도했습니다. 그러나 프로젝트를 시작할 때 "해당 파일/디렉토리가 없습니다"라는 예외가 표시됩니다. 코드에 오류가 있습니까? 즉시 답변 해주세요. 미리 감사드립니다.안드로이드의 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 파일은 당신을 제공하는 예외 인 경우 다음 오류가 project_data.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

이 예 선생님이 대답은 귀하의 질문에 좀 더 공손하려고 ... immediatly 주어집니다. 우리는 모두 자발적으로하고 있습니다. – Janusz

답변

1

입니다. Android의 파일 저장에 대한 자세한 내용은 this 리소스를 확인하십시오. 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));