2009-12-05 118 views
3

总结:为了轻松添加SAX解析器的单元测试,我想从文件加载XML。从资源加载文件

现在,我的单元测试类中有一个静态字符串,但它对于大型XML并不方便。

这就是为什么我想将一些XML文件添加到我的项目并将它们加载到我的单元测试中。我怎样才能做到这一点?

回答

9

这个问题被标记为“Android”,我注意到你提到了一个Activity,所以我打算假设你试图在Android应用程序中加载一个XML文件。从Activity

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

:如果是这样的话,把你的XML文件/assets下并调用。从那里,你可以操纵它到SAXBuilder。这只有在您将测试设置为在仿真器上运行的情况下才有效(或者您只是在单元测试之外尝试调试)。

+0

谢谢。下星期一,我会在办公室的时候尝试一下。 – Quentin 2009-12-06 10:11:50

1

SAXBuilder有一个构造函数来读取文件中的数据: 文件构建(java.io.File文件) 这将从提供​​的文件名构建一个文档。 http://www.jdom.org/docs/apidocs/org/jdom/input/SAXBuilder.html

+0

谢谢,我不知道这种方法的SAXBuilder 但我的消息不明确,我的问题是:我不知道该怎么做从我的XML文件中获得一个文件对象。 例如,当我调用当前活动上下文的fileList()方法时,我得到一个空数组。 也许我必须在我的Eclipse项目中添加一些信息才能从应用程序访问此文件。 – Quentin 2009-12-05 17:02:45

+0

如果您的文件名为input.xml,并且它位于应用程序的当前文件夹中,则可以调用: Document doc =(new SAXBuilder())。build(“input.xml”); – Moisei 2009-12-05 22:18:41