Android 클 라 이언 트 가 서버 에서 되 돌아 오 는 xml 파일 내용 을 분석 합 니 다.
String path = "http://10.0.2.2:9999/XMLServer/video.xml";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setReadTimeout(8 * 1000);
conn.setRequestMethod("GET");
InputStream is = conn.getInputStream();
byte[] data = StreamTools.readInput(is);
StreamTools 코드:
public class StreamTools {
public static byte[] readInput(InputStream is) throws Exception {
byte[] buffer = new byte[is.available()];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len = is.read(buffer)) != -1) {
bos.write(buffer,0,len);
}
bos.close();
return bos.toByteArray();
}
}
2. 얻 은 xml 파일 을 분석 합 니 다.
/**
* xml
* @param content
* @return
* @throws Exception
*/
private static List
MyContentHandler 코드:
public class MyContentHandler extends DefaultHandler {
private List videoList;
private Video video;
private String tagName;
public MyContentHandler() {
}
public MyContentHandler(List videoList) {
this.videoList = videoList;
}
@Override
public void startDocument() throws SAXException {
}
@Override
public void endDocument() throws SAXException {
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if("video".equals(localName)) {
video = new Video();
}
tagName = localName;
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if("video".equals(localName)) {
videoList.add(video);
}
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
if("name".equals(tagName)) {
String name = new String(ch,start,length).trim();
if(StringTools.isNotEmpty(name)) {
video.setName(name);
}
} else if("time".equals(tagName)) {
String time = new String(ch,start,length).trim();
if(StringTools.isNotEmpty(time)) {
video.setTime(time);
}
}
}
}
3. 최종 적 으로 분 석 된 VO 의 List 목록 은 activity 에서 ListView 로 표 시 됩 니 다.
ListView Activity 코드:
public class ListViewActivity extends Activity {
private ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listtext);
list = (ListView)this.findViewById(R.id.list);
try {
List videolist = GetVideoService.getVideoList();
System.out.println("--------------"+videolist);
List
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.