我必须在我的android应用程序中读取一个xml文件才能从中获取数据。我先前问过问题,发现我需要使用解析器。使用谷歌我设法找到了方法,但由于一些未知的原因,我的文件甚至不会读。我在文件路径上做错了吗?我已经尝试了许多不同的文件路径方式,但都导致相同的IO异常。另外测试.exists()会返回false:/,它确实存在,并且如果我输入与我的代码中的URL完全相同的URL,它将出现在浏览器中。
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
public class XMLReader {
public static void main(String argv[]) {
try {
File fXmlFile = new File("/Users/simondobson/GoogleDrive/GUESTLIST/TGN/src/com/TGN/simon/events.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在我的一项活动中,我正在这样打电话。
XMLReader xml;
xml = new XMLReader();
答案 0 :(得分:0)
您的问题很可能源于您使用的是Windows操作系统,文件分隔符使用反斜杠而不是正斜杠。
“对于Microsoft Windows平台,路径名的前缀 包含驱动器说明符,后跟驱动器号 “:”如果路径名是绝对的,则可能后跟“\”。该 UNC路径名的前缀是“\\”;主机名和共享名称 是名称序列中的前两个名称。一个相对路径名 没有指定驱动器没有前缀“
MKYong还有a good intro tutorial使用Java中的文件类,并展示了如何使程序在基于Windows和Unix的平台上正确查找文件。