以下是对方返回数据格式 
 <?xml version="1.0" encoding="utf-8" ?> 
  <eps400>
  <count size="abc" /> 
  <data>
  <record eps400="xxxxx" type="dfdfd" fl="333" occupytype="dddd" /> 
  </data>
  </eps400>解析代码如下:
// 构建HTTP请求
URL url = new URL(
"http://www.ccw.cn/lkszjreo/wqi4rpo/ewirwed/qncyrq/oijoijfkiejxml.aspx");
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
InputStream is = urlCon.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String tmpStr = "";
while (rd.read() != -1) {
System.out.println(rd.readLine().toString());
//tmpStr += rd.readLine();
}

解析后的结果是: ?xml version="1.0" encoding="utf-8" ?> 
  eps400>
  count size="abc" /> 
  data>
  record eps400="xxxxx" type="dfdfd" fl="333" occupytype="dddd" /> 
  /data>
  /eps400>请问这是什么原因引起的?

解决方案 »

  1.   

    String str="";
    StingBuffer sb = new StringBuffer();
    while((str=rd.readLine())!=null)
    {
          sb.append(str);
    }
    System.out.println(sb.toString())你的rd.read()每次已经读取了一个字符,所以“<”就没有了
      

  2.   

    String str="";
    StingBuffer sb = new StringBuffer();
    while((str=rd.readLine())!=null)
    {
      sb.append(str);
    }
    System.out.println(sb.toString())你的rd.read()每次已经读取了一个字符,所以“<”就没有了
      

  3.   

    将你的:
    while (rd.read() != -1) {
    替换成:
    String str="";
    StingBuffer sb = new StringBuffer();
    [/while((str=rd.readLine())!=null)
    {
      sb.append(str);
    }
    System.out.println(sb.toString());
    试试。