小编典典

使用远程XML作为文件

java

我正在尝试从Web服务器读取XML文件,并将其内容显示在上ListView,因此我正在读取文件,如下所示:

File xml = new File("http://example.com/feed.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xml);
doc.getDocumentElement().normalize();

NodeList mainNode = doc.getElementsByTagName("article");
// for loop to populate the list...

问题是我收到此错误:

java.io.FileNotFoundException:/http:/mydomainname.com/feed.xml(无此类文件或目录)

为什么我遇到这个问题以及如何解决?


阅读 251

收藏
2020-11-30

共1个答案

小编典典

文件旨在指向本地文件。

如果要指向远程URI,最简单的方法是使用类URL

 //modified code
 URL url = new URL("http://example.com/feed.xml");
 URLConnection urlConnection = url.openConnection();
 InputStream in = new BufferedInputStream(urlConnection.getInputStream());

 //your code
 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
 DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
 Document doc = dBuilder.parse( in );

如您所见,稍后,借助Java流式API,您可以轻松地调整代码逻辑以处理文件的内容。这是由于class中的parse方法的重载所致DocumentBuilder

2020-11-30