解析xml文件要获取URL地址 今天我使用的是tomcat 以解析tomcat中的xml文件为例,首先要获得网络的lp 在doc命令中输入ipconfig即可

浏览器中输入http://193.168.5.210:8080/persons.xml
出现xml文件中的数据 即可
如果用真机做测试则要注意,电脑连上一个热点,不要流量的,然后电脑开个热点手机连上电脑热点,打开手机浏览器输入相同网址,如果出现相同数据则连接成功
如果只是用模拟器来做测试则省去以上步骤
最为中要的一点 代码不能写在主线程中 不然会报错,所以这里还用到了AsyncTask
然后代码的实现 首先获得URL地址
URL url=new URL("http://193.168.5.210:8080/persons.xml");,然后打开连接url.openConnection();,设置请求方式setRequestMethod("GET");因为有事网络不好如果不优化,访问数据时会一直访问小号资源,所以要设置连接超时urlConnection.setConnectTimeout(5000); 连接是否成功都有一个结果码 成功为200,其他结果码请查看然后获取服务器返回的结果,最后打印出来主要布局 就用了一个按钮 点击事件主要代码
public class MainActivity extends AppCompatActivity { PRivate Button paser_xml; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); paser_xml = (Button) findViewById(R.id.paser_xml); paser_xml.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //获取网络数据xml new myTask().execute(); } }); } class myTask extends AsyncTask{ @Override protected Object doInBackground(Object[] objects) { try { URL url=new URL("http://193.168.5.210:8080/persons.xml"); HttpURLConnection urlConnection= (HttpURLConnection) url.openConnection(); //设置请求方式 urlConnection.setRequestMethod("GET"); //设置请求连接的时间(优化) urlConnection.setConnectTimeout(5000); //获取结果码 int code=urlConnection.getResponseCode(); if (code==200){ //获取服务器返回来的结果 InputStream is=urlConnection.getInputStream(); //打印(读) BufferedReader br=new BufferedReader(new InputStreamReader(is)); String str=null; while((str=br.readLine())!=null){ Log.i("test",str); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); } }}清单文件 配置访问网络的权限<uses-permission android:name="android.permission.INTERNET"></uses-permission>
新闻热点
疑难解答