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;
}
}
}