在android中读取远程xml文件

在android中读取远程xml文件,android,xml,Android,Xml,我在远程有一个xml文件。我想在我的android项目中使用该xml文件。有人能给我一个示例代码吗?我正在使用android 2.2 注意:我可以访问/res文件夹中的本地xml文件。 我对xPath一无所知。如果您试图通过远程xml设置布局、可绘制或样式,则不能。试试{ //设置下载URL,该URL指向internet上的文件 //这是要下载的文件 URL=新URL(“http://IP/Downloads/data.xml"); //创建新连接 HttpURLConnection urlCo

我在远程有一个xml文件。我想在我的android项目中使用该xml文件。有人能给我一个示例代码吗?我正在使用android 2.2

注意:我可以访问/res文件夹中的本地xml文件。
我对xPath一无所知。

如果您试图通过远程xml设置布局、可绘制或样式,则不能。

试试{
//设置下载URL,该URL指向internet上的文件
//这是要下载的文件
URL=新URL(“http://IP/Downloads/data.xml");
//创建新连接
HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
//连接!
urlConnection.connect();
//设置要保存文件的路径
//在本例中,将其保存在
//sd卡。
文件SDCardRoot=Environment.getExternalStorageDirectory();
//创建一个新文件,指定路径和文件名
//我们希望将文件另存为。
File File=新文件(SDCardRoot,“data.xml”);
//这将用于将下载的数据写入我们创建的文件中
FileOutputStream fileOutput=新的FileOutputStream(文件);
//这将用于从互联网读取数据
InputStream InputStream=urlConnection.getInputStream();
//这是文件的总大小
int totalSize=urlConnection.getContentLength();
progressDialog.setMax(totalSize);
//用于存储总下载字节数的变量
int downloadedSize=0;
//创建一个缓冲区。。。
字节[]缓冲区=新字节[1024];
int bufferLength=0;//用于存储缓冲区的临时大小
//现在,读取输入缓冲区并将内容写入文件
而((bufferLength=inputStream.read(buffer))>0){
//将缓冲区中的数据添加到文件输出流中的文件(sd卡上的文件)
fileOutput.write(buffer,0,bufferLength);
//把大小加起来,这样我们就知道下载了多少
downloadedSize+=缓冲区长度;
}
//完成后关闭输出流
fileOutput.close();
//捕捉一些可能的错误。。。
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}

下载xml文件时请尝试以下代码,并查看本教程,了解如何阅读xml

以字符串形式阅读xml,以及如何使用它

公共字符串getXmlFromUrl(字符串url) {
字符串xml=null

try 
{
    //default http client
    HttpClient httpClient = new DefaultHttpClient();

    HttpPost httpPost = new HttpPost(url);

    System.out.println("URL IN PARSER:==="+url+"====");

    HttpResponse httpResponse = httpClient.execute(httpPost);

    HttpEntity httpentity = httpResponse.getEntity();

    xml = EntityUtils.toString(httpentity);   // I have changed it... because  occur while downloading..

    Log.d("response", xml);
} 
catch(UnsupportedEncodingException e)
{
    e.printStackTrace();
} 
catch (ClientProtocolException e) 
{
    e.printStackTrace();
} 
catch (IOException e) 
{
    e.printStackTrace();
}


return xml;

}

一些有趣的事情…如果你想在活动中将其设置为布局,那么我认为你不能..这只是一个包含一些原始数据的xml文件。这里不讨论布局/清单xml。然后你可以通过有效的xml解析器使用它..我使用document builder和doc builder factory来访问xml的内容..我的问题是如何o检索位于远程位置的xml文件。我已使用HTTPUrlConnection,但它出现运行时错误…否。我只想将xml数据用于其他目的。不要设置layoutOk,然后使用http连接获取响应中的xml,并对其进行解析。确切地说…只有我有一个问题。URL URL=新URL(“);urlConnection=(HttpsURLConnection)url.openConnection();InputStream in=new BufferedInputStream(urlConnection.getInputStream());如果您在Android 2.2或更高版本上开发,您可以利用javax.xml.xpath的功能(在API级别8中引入).ty…得到了答案…使用SAXParsers而不是将xml保存在我的sd卡中。我在搜索查询中动态使用它。ty fr链接无法获取你..??你所说的动态搜索查询是什么意思。