2009-12-05 5 views
3

요약 : SAX 파서에 대한 단위 테스트를 쉽게 추가하기 위해 파일에서 XML을로드하고 싶습니다.리소스에서 파일로드

이제는 단위 테스트 클래스 내에서 정적 XML 문자열을 사용하지만 대용량 XML에서는 그리 편리하지 않습니다.

이 때문에 XML 파일을 프로젝트에 추가하고 단위 테스트에로드하고 싶습니다. 어떻게해야합니까?

답변

9

이 질문은 "Android"로 표기되어 있으며 Activity을 언급 한 것으로 확인되었습니다. 따라서 Android 애플리케이션에서 XML 파일을로드하려고한다고 가정합니다. 그런 경우, /assets에서 XML 파일을 넣고 전화 :

InputStream is = getAssets().open("input.xml") 

당신의 Activity에서. 거기에서 SAXBuilder으로 조작 할 수 있습니다. 이것은 에뮬레이터에서 실행되도록 테스트를 설정 한 경우 (또는 단원 테스트 외부에서 디버깅하려는 경우)에만 작동합니다.

+0

고맙습니다. 다음에 월요일에 내가 사무실에있을 때 시험해 볼게. – Quentin

1

SAXBuilder에는 파일에서 데이터를 읽는 생성자가 있습니다. 문서 빌드 (java.io.File 파일) 제공된 파일 이름으로 문서를 작성합니다. http://www.jdom.org/docs/apidocs/org/jdom/input/SAXBuilder.html

+0

감사합니다, 나는 SAXBuilder도 의이 방법을 알고하지 않았다하지만 내 메시지는 분명하지 않다, 내 문제는 : 내 xml 파일에서 File 객체를 얻기 위해 무엇을 해야할지하지 않습니다. 예를 들어 현재 활동 컨텍스트의 fileList() 메서드를 호출하면 빈 배열이 나타납니다. 애플리케이션에서이 파일에 액세스하려면 Eclipse 프로젝트에 정보를 추가해야 할 수도 있습니다. – Quentin

+0

파일의 이름은 input.xml이며 응용 프로그램의 현재 폴더에 있습니다. 문서 doc = (새 SAXBuilder()). build ("input.xml"); – Moisei