2009-12-05 2 views
3

Подводя итог: для того, чтобы легко добавлять модульные тесты для анализатора SAX, я хотел бы загрузить XML из файла.Загрузить файл с ресурса

Теперь у меня есть мой XML в статической строке внутри моего модульного тестового класса, но это не очень удобно для больших XML.

Вот почему я хотел бы добавить некоторые XML-файлы в свой проект и загрузить их в своем модульном тесте. Как я могу это сделать?

ответ

9

Этот вопрос помечается как «Android», и я заметил, что ты упомянул Activity, так что я буду считать, что вы пытаетесь загрузить файл XML в пределах Android приложения. При что является case, put your file XML under /assets и звоните:

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

от your Activity. Оттуда вы можете манипулировать им в SAXBuilder. Это будет работать, только если вы настроили свой тест для запуска на эмуляторе (или если вы просто пытаетесь отлаживать вне модульного теста).

+0

Спасибо. Я попробую это в понедельник, когда я буду в офисе. – Quentin

1

У SAXBuilder есть конструктор для чтения данных из файла: Документ build (файл java.io.File) Это создает документ из прилагаемого имени файла. http://www.jdom.org/docs/apidocs/org/jdom/input/SAXBuilder.html

+0

Спасибо, я не знал об этом методе SAXBuilder Но мое сообщение не было ясным, моя проблема: я не знаю, что делать, чтобы получить объект File из моего xml-файла. Например, когда я вызываю метод fileList() моего текущего контекста активности, я получаю пустой массив. Возможно, мне нужно добавить некоторую информацию в проект Eclipse, чтобы получить доступ к этому файлу из приложения. – Quentin

+0

, так как ваш файл имеет имя input.xml и находится в текущей папке вашего приложения, вы можете позвонить: Документ doc = (новый SAXBuilder()). Build ("input.xml"); – Moisei

Смежные вопросы