<?xml version="1.0" encoding="utf-8" ?>
이게 XML 이구요 저기 보면 <rtsp> 에 들어있는 rtsp://121.189.59.238:554/cgntvlive/livechina.sdp 이걸 String 에 집어넣으려고 하는데
XmlPullParser.START_TAG 부분에 들어가질 않네요 ㅠㅠㅠㅠ 제가 뭘 잘못한건지 알수 있을까요 ㅠㅠㅠㅠㅠ
try {
URL url = new URL("http://m.cgntv.net/tv/live.xml");
Log.d("!!!!", rtsp);
//사전준비//
XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
XmlPullParser parser = parserFactory.newPullParser();
parser.setInput(url.openStream(), "utf-8");
/////////////////////////////////////////////////////////////////////////
int parserEvent = parser.getEventType();
String tag="ready..!";
String url_url="";
int i=0;
boolean t=false;
while(parserEvent != XmlPullParser.END_DOCUMENT){
switch(parserEvent){
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
if(tag.equals("rtsp")){
t=true;
}
break;
case XmlPullParser.TEXT:
if(t){
url_url = parser.getText();
rtsp = url_url;
i++;
}
break;
case XmlPullParser.END_TAG:
break;
}
parserEvent = parser.next();
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("parserTest","error");
}
아예
if(tag.equals("rtsp")){
t=true;
}
이부분과
if(t){
url_url = parser.getText();
rtsp = url_url;
i++;
}
이부분에 들어가질 않네요 ㅠㅠ
어제부터 여기에 들어가지지 않아서 해매고 있습니다 .ㅠㅠ
안되면 하나하나 다 로그 찍어보는 수밖에 없죠.
int i=0; break; 한번 다 찍어보세요.
boolean t=false;
while(parserEvent != XmlPullParser.END_DOCUMENT){<- int j 해서 j++하면서 로그찍어 j값 확인
switch(parserEvent){
case XmlPullParser.START_DOCUMENT:<- 로그
break;
case XmlPullParser.START_TAG: <-로그
tag = parser.getName();<-tag 로그찍어 내용확인.
if(tag.equals("rtsp")){
t=true;
}
break;
case XmlPullParser.TEXT: <-로그
if(t){
url_url = parser.getText();
rtsp = url_url;
i++;
}
break;
case XmlPullParser.END_TAG:<-로그
}
parserEvent = parser.next();
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("parserTest","error");
}
URL url = new URL("http://m.cgntv.net/tv/live.xml");
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();
SaxHandler handler = new SaxHandler();
reader.setContentHandler(handler);
reader.parse(new InputSource(url.openStream()));
}
catch (Exception e) {
}
boolean initem = false;
StringBuilder item = new StringBuilder();
String url_url = "";
int i=0;
public void startDocument () {}
public void endDocument() {}
public void startElement(String uri, String localName, String qName, Attributes atts) {
if (localName.equals("rtsp")) {
initem = true;
}
}
public void endElement(String uri, String localName, String qName) {}
if (initem) {
item.append(chars, start, length);
initem = false;
url_url = new String(chars, start,length);
Log.d("~~~", url_url);
if(i==0){
rtsp1 = url_url;
}
else if(i==1){
rtsp2 = url_url;
}
else if(i==2){
rtsp3 = url_url;
}
else if(i==3){
rtsp4 = url_url;
}
else if(i==4){
rtsp5 = url_url;
}
else if(i==5){
rtsp6 = url_url;
}
i++;
}
}
};




if(tag.equals("rtsp")){
t=true;
}
이부분과
if(t){
url_url = parser.getText();
rtsp = url_url;
i++;
}
이부분 안에 로그 찍어보시고 거쳐가는지 확인해보세요.
그리고 엔드태그 부분이나 TEXT 끝부분에 t를 false로 바꿔주고 스트링은 리스트로 저장해야 할 것 같네요.
제 예상이 맞다면 지금 저상태라면 모든 TEXT를 다 읽어서 저장하기 때문에 아마 스트링값은 마지막 TEXT부분이 저장되어 있을 것 같은데요.
혹시 http://121.189.59.238:554/cgntvlive/livechina.sdp/playlist.m3u8 이게 저장되어 있지는 않은가요?