자바 프로그램의 웹 서비스에서 결과를 얻으려고합니다. 전에 xml 서비스를했는데이 하나는 텍스트 기반이며 응답을 기록하는 방법을 알 수 없습니다. http://ws.geonames.org/countryCode?lat=47.03&lng=10.2txt 웹 서비스를 구문 분석하는 방법
감사 : 여기
는 웹 서비스입니다!자바 프로그램의 웹 서비스에서 결과를 얻으려고합니다. 전에 xml 서비스를했는데이 하나는 텍스트 기반이며 응답을 기록하는 방법을 알 수 없습니다. http://ws.geonames.org/countryCode?lat=47.03&lng=10.2txt 웹 서비스를 구문 분석하는 방법
감사 : 여기
는 웹 서비스입니다!그것은 단지 텍스트, 그리고 당신은, 당신은 소켓 사용해야합니다 (SOAP 등) 표준 형식을 사용하지 않는 경우 :
while ((inputLine = in.readLine()) != null)
response.add(inputLine);
: 당신이 많은 라인을 가지고이 경우
URL myURL = new URL("http://ws.geonames.org/countryCode?lat=47.03&lng=10.2");
URLConnection serviceConnection = myURL.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
serviceConnection.getInputStream()));
List<String> response =new ArrayList<String>();
사용
또는 당신이 (당신의 문제의 웹 서비스 등) ONLY ONE 라인이 있다면 이것을 사용
String countryCode = in.readLine();
을 그리고 마무리 : 내 경우
serviceConnection.close();
는 URL에 추가하여 대안 구현이 HttpClient를 사용하는 것입니다 그것은
굉장합니다. 감사! – nwnoga
public class CountryCodeReader {
private String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public String readFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
InputStreamReader is = new InputStreamReader(is, Charset.forName("UTF-8"))
BufferedReader rd = new BufferedReader(is);
return readAll(rd);
} finally {
is.close();
}
return null;
}
public static void main(String[] argv) {
CountryCodeReader ccr = new CountryCodeReader();
String cc = ccr.readFromUrl("http://ws.geonames.org/countryCode?lat=47.03&lng=10.2");
}
}
"AT"이었다 COUNTRYCODE.
어떤 구현을 REST 서비스에 사용하고 있습니까? 저지? – smcg
일반적인 결과는 무엇이며 무엇을 얻고 싶습니까? – fdomig
두 자로 된 국가 코드가 필요합니다. – nwnoga