解析包含xml数据的对象

问题描述:

我正在构建一个Android应用程序,我通过Web服务连接到数据库。当我通过Web服务发送信息时,我得到了一个XML结果,我然后将其转换为字符串,并将其显示在EditText上就这样解析包含xml数据的对象

Handler uiThreadHandler = new Handler() { 
      public void handleMessage(Message msg) { 
       Object o = msg.obj; 

       EditText textIn = (EditText)((Activity)context).findViewById(R.id.editTextDoSelectResult); 
       textIn.setText(o.toString()); 

       System.out.println(o.toString()); 
      } 
     }; 

     Message msg = uiThreadHandler.obtainMessage(); 
     msg.obj = result; 
     msg.arg1 = sid; 
     uiThreadHandler.sendMessage(msg); 
     } 

我试图解析XML,以获得出XML结果的具体值,并在相应的字段中显示的话,我想我应该遵循这样的事情

http://developer.android.com/training/basics/network-ops/xml.html

我的问题是,我该如何使用XML结果,我在我的代码获得XmlPullParser中的输入流

如果有反正我可以改善这个问题,请让我知道

+0

嗯,你提供的链接不是给你一个非常好的教程,已经完全符合你的要求吗? – PrivatMamtora 2014-08-29 02:53:06

+0

我在问如何使用我在本教程的代码中得到的结果,因为本教程没有告诉您如何获得输入 – Mash 2014-08-29 02:59:34

+0

您的意思是输入,如何获取输入流? – PrivatMamtora 2014-08-29 03:03:14

也许这对你有帮助。

要获得的InputStream:

private static InputStream downloadUrl(String urlString) throws IOException { 
    URL url = new URL(urlString); 
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
    conn.setReadTimeout(10000 /* milliseconds */); 
    conn.setConnectTimeout(15000 /* milliseconds */); 
    conn.setRequestMethod("GET"); 
    conn.setDoInput(true); 
    // Starts the query 
    conn.connect(); 
    return conn.getInputStream(); 
} 

转换的InputStream字符串:

private static String convertStreamToString(InputStream is) { 
    ByteArrayOutputStream oas = new ByteArrayOutputStream(); 
    copyStream(is, oas); 
    String t = oas.toString(); 
    try { 
     oas.close(); 
     oas = null; 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return t; 
} 

集到的EditText:

... 
youredittext.setText(convertStreamToString(downloadUrl(your_url))); 
...