[英]Android read xml error
我正在尝试从android应用程序读取xml文件,但是xml文件是从php立即生成的(因此文件是.php)
当我从Java询问该URL时,出现此错误:URI中预期的文件方案:“ http://someserver.com/foo/bar/Myuri.php”
try {
File file = new File(new URI("http://someserver.com/foo/bar/Myuri.php"));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement().normalize();
System.out.println("Root element " + doc.getDocumentElement().getNodeName());
NodeList nodeLst = doc.getElementsByTagName("employee");
//System.out.println("Information of all employees");
for (int s = 0; s < nodeLst.getLength(); s++) {
Node fstNode = nodeLst.item(s);
if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
Element fstElmnt = (Element) fstNode;
NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("name");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
System.out.println("Name : " + ((Node) fstNm.item(0)).getNodeValue());
NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");
Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
NodeList lstNm = lstNmElmnt.getChildNodes();
System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue());
}
}
} catch (Exception e) {
alertDialog.setMessage(e.getMessage());
alertDialog.show();
}
编辑:好的,现在我们有了一些代码,让我们看一下重要的一行:
File file = new File(new URI("http://someserver.com/foo/bar/Myuri.php"));
File
类用于文件。 不是任意的URI。 期望URI中有一个file
方案,例如file://
。
基本上,您不能使用File
来从网络上获取内容。 那不是它的目的。 使用HTTP库,例如HttpClient
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.