'2017/10/27'에 해당되는 글 2건

  1. 2017.10.27 jsoup RSS XML 파싱 2
  2. 2017.10.27 java split() 문자 자르기 684
카테고리 없음2017. 10. 27. 23:58
반응형

       Document doc = Jsoup.connect("http://openapi.naver.com/search")

                .data("key", API_KEY_NAVER_IMG_SEARCH)

                .data("query", URLEncoder.encode(keyword, "UTF-8"))

                .data("target", "image").data("start", "1")

                .data("diplay", String.valueOf(count)).userAgent("Mozila")

                .parser(Parser.xmlParser()).timeout(3000).get();


connect의 파라메터로, 접근할 URL을 작성하고 


data 메소드를 이용해서 HTTP 접근시 이용할 파라메터를 추가해줄 수 있다.


XML 파싱을 할때의 가장 주의할 점은, parser를 xml파서로 꼭 지정을 해주어야한다는 점이다.


parser 메소드의 명시적 선언없이, 그냥 사용을 하면, 문서구조는 잘 불러와지나, 


실제 필요한 데이터를 select하였을 시 빈 데이터값만 받아진다.


따라서, .parser를 xml파서로 등록을 해주고, 마지막에 HTTP METHOD에 맞는 함수를 호출하면 된다.


그 후 원하는 속성의 데이터를 불러오기 위해선, 


Elements라는 객체와, Element 객체를 이용해서 데이터를 불러오게 되는데,


다음의 코드를 이용해서 불러올 수 있다.


        Elements elements = doc.select("link");

        System.out.println("elements = " + elements);

        for (Element e : elements) {

            System.out.println(e.text());

        }






String rss = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

  +"<rss><channel>"

  +  "<title>The Blog Title</title>"

  +  "<link>http://www.the.blog/category</link>"

  +"</channel></rss>";


Document doc = Jsoup.parse(rss, "", Parser.xmlParser());


Element link = doc.select("rss channel link").first();

System.out.println(link.text()); // prints empty string

반응형
Posted by Dream Come True
IT/java2017. 10. 27. 00:45
반응형

class Foo {

  public static void main(String[] args) {

    String s;

    String[] array;


    //////////////////////////////////////////////////

    // 탭 문자(Tab)로 구분된 문자열 분해


    // HTML에서는 탭문자 표현이 곤란하기에

    // 아래 예제에서 탭문자를 [TAB] 이렇게 표현했는데

    // 예제 실행시에는 진짜 탭문자로 바꾸어 주어야 합니다.


    s = "자장면[TAB]탕수육[TAB]짬뽕[TAB]칼국수";

    array = s.split("\t");

    dumpArray(array);



/* 출력 결과:


array[0] = 자장면

array[1] = 탕수육

array[2] = 짬뽕

array[3] = 칼국수


*/




    //////////////////////////////////////////////////

    // 마침표(.)로 구분된 문자열 분해

    s = "철수.영희.맹구.배영만";

    array = s.split("\\.");

    dumpArray(array);



/* 출력 결과:


array[0] = 철수

array[1] = 영희

array[2] = 맹구

array[3] = 배영만


*/



  }



  // 배열을 화면에, 요소별로 알기 쉽게 출력

  public static void dumpArray(String[] array) {

    for (int i = 0; i < array.length; i++)

      System.out.format("array[%d] = %s%n", i, array[i]);

  }




}

반응형

'IT > java' 카테고리의 다른 글

자바 자문 자답 DecimalFormat 에러 발생  (627) 2017.10.21
자바 랜덤 숫자 발생 정렬 후 반환  (353) 2017.10.18
Posted by Dream Come True