import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.parser.Parser;

import java.nio.charset.StandardCharsets;

/**
 * 行政院農業委員會資料開放平台 爬蟲範例
 *
 * @author Abola Lee <[email protected]>
 */
public class Ch5Coz4 {

    // API url
    static String url = "http://m.coa.gov.tw/OpenData/FarmTransData.aspx?$top=10&$skip=0";


    public static void main(String[] args){
        // API 內容轉化為 jsoup Document 物件
        Document original = CrawlerPack.start().getFromJson(url);

        // 檢視 xml 內容
        //System.out.println( original.toString() );

        for(Element elem : original.select("row") ){
            // 印出交易商品資料
            System.out.print( elem.select("交易日期").text() );
            System.out.print( elem.select("作物名稱").text() );
            System.out.print( elem.select("平均價").text() );
            System.out.print( "\n" );
        }

        // 原始的 XmlParser 結果試試看下面這行
        // normalXmlParse();
    }

    // 如果使用預設的 xmlParser會發生什麼? 試試看
    public static void normalXmlParse(){
        String json = CrawlerPack.getFromRemote(url);
        String xml = CrawlerPack.jsonToXml(json);

        // 原始 json 轉為 xml 的結果
        System.out.println( "原始XML" ) ;
        System.out.println( xml );

        Document jsoupDoc = Jsoup.parse(xml, "", Parser.xmlParser());
        jsoupDoc.charset(StandardCharsets.UTF_8);

        // 發生了什麼事?
        System.out.println( "轉換後XML" ) ;
        System.out.println(jsoupDoc.toString());


    }
}