package exam.Network;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import exam.AndroidExam.R;

public class DomParser2 extends ListActivity {
 private static final String TAG = "LogTest";
 
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.parsing);

  Button btn = (Button)findViewById(R.id.parse);
  btn.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    finish();
   }
  });
  tree();
  Log.v(TAG,"onCreate");
 }
 public void tree(){
  String xml = "http://www.kma.go.kr/XML/weather/sfc_web_map.xml";
  domData domdata = null;
  ArrayList<domData> m_dom = new ArrayList<domData>();
  
  try {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   URL url = new URL(xml);
   InputStream istream = url.openStream();

   Document doc = factory.newDocumentBuilder().parse(new File("http://www.kma.go.kr/XML/weather/sfc_web_map.xml"));
   
   
   Element root = doc.getDocumentElement();
   NodeList items = root.getElementsByTagName("local");
   String Result = "";
   int iSize = items.getLength();

   for (int i=0; i<iSize ; i++){                                                                              >>>>>>이부분에서 문제인것 같은데..
    NodeList nodeListChild = items.item(i).getChildNodes();                         리스트로 출력이 안되네요..왜 안되는지 도무지
                                                                                                                                     알수가 없네요...초보라서...고수님들 제발
    for(int j=0; j<nodeListChild.getLength();j++){                                                   쫌 가르쳐 주세요 ㅠ.ㅠ;;
     Node node = nodeListChild.item(j);
     String sNodeName = node.getNodeName();
     
     if("items".equals(sNodeName)){
      String sNodeValue = node.getFirstChild().getNodeValue();          >>>>>>>
     }
    }
   }
  }
  catch (Exception e) {
   Log.e(TAG, "parsing error");
  }
  DomListAdapter adapter = new DomListAdapter(this, R.layout.row, m_dom);
  setListAdapter(adapter);
 }
 private class DomListAdapter extends ArrayAdapter{
  
  private ArrayList items;
  public DomListAdapter(Context context, int textViewResourceid, ArrayList items){
   super(context, textViewResourceid, items);
   this.items = items;
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent){
   View v = convertView;
   if(v == null){
    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = vi.inflate(R.layout.row, null);
   }
   
   domData domdata = (domData)items.get(position);
   if(domdata != null){
    TextView tv1 = (TextView)v.findViewById(R.id.x_title);
    TextView tv2 = (TextView)v.findViewById(R.id.x_author);
    
    if(tv1 != null){
     tv1.setText(domdata.d_title);
     
    }
    if(tv2 != null){
     tv2.setText(domdata.d_author);
    }
   }
   return v;
  }
 }
}