在StringBuilder中解析Xml数据

时间:2012-11-26 12:08:25

标签: android xml

所以我使用Reverse GeoCoding,一切正常,但我收到了在StringBuilder中打包的xml格式的响应

我希望得到一条线,例如。 :我想在String中的item1,怎么能实现这个?

这是我的代码;

 public void getPlaces() {

HttpURLConnection connection = null;
URL serverAddress = null;
Double latitude = 37.422006;
Double longitude = -122.084095;

try {
    // build the URL using the latitude & longitude you want to lookup
    // NOTE: I chose XML return format here but you can choose something else
    serverAddress = new URL("http://maps.google.com/maps/geo?q=" + Double.toString(latitude) + "," + Double.toString(longitude) +
                "&output=xml&oe=utf8&sensor=true");
    //set up out communications stuff
    connection = null;

    //Set up the initial connection
    connection = (HttpURLConnection)serverAddress.openConnection();
    connection.setRequestMethod("GET");
    connection.setDoOutput(true);
    connection.setReadTimeout(10000);

    connection.connect();

    BufferedReader rd  = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    StringBuilder sb = new StringBuilder();
    String line = null;

    while ((line = rd.readLine()) != null)
    {
        sb.append(line + '\n');
    }
    // now the response is packaged in a string,
    // parse the XML or whatever you need
    String responseText = sb.toString();
    Toast.makeText(this, responseText, Toast.LENGTH_LONG).show();
} catch (Exception ex) {
    ex.printStackTrace();
}



}

谢谢。

编辑: 使用此链接解决:

http://www.smnirven.com/blog/2009/10/09/reverse-geocode-lookup-using-google-maps-api-on-android-revisited/

1 个答案:

答案 0 :(得分:0)

您可以使用Geocoder获取位置

Geocoder geocoder = new Geocoder(mContext, Locale.getDefault());
addresses = geocoder.getFromLocation(lattitude,longitude, 1);