StringBuilder url_content = new StringBuilder();
HttpClient client = new DefaultHttpClient(); HttpGet method = new HttpGet(url); HttpResponse response = client.execute(method); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); //-- 이걸 직접 Parsing 하고싶은데 안되요..ㅜㅜ BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); String inStr = ""; while ((inStr = br.readLine()) != null) { url_content.append(inStr + "\n");//---- 테스트 할려고 String으로 만들엇슴 }
FileOutputStream fos = openFileOutput("test.html", Context.MODE_WORLD_READABLE); fos.write(url_content.toString().getBytes()); //----- 테스트 할려고 파일로 만들엇슴 fos.close();
HtmlCleaner cleaner = new HtmlCleaner(); CleanerProperties props = cleaner.getProperties(); props.setOmitComments(true);
//TagNode node =cleaner.clean(getFileStreamPath("test.html")); // 파일로 테스트 parsing 성공 //TagNode node = cleaner.clean(url_content.toString()); // String 으로 테스트 parsing 성공 TagNode node = cleaner.clean(inputStream); //-- 이거 실패..ㅜㅜ(이게 성공해야되는데..ㅜㅜ)
SimpleXmlSerializer se = new SimpleXmlSerializer(props);
se.writeXmlToStream(node, System.out);
하루종일 이걸로 씨름하고잇습니다. 고수님들 도와주십쇼!!
간단히 질문드리겟습니다..
TagNode node =cleaner.clean(getFileStreamPath("test.html")); <-- 이거 성공
TagNode node = cleaner.clean(url_content.toString()); <-- 이것도 성공
TagNode node = cleaner.clean(inputStream); <-- 이것만 실패합니다..(빈 xml 이 만들어짐)
-------------------------------------------------------------------------------------------------------------------------
10-18 07:55:03.680: INFO/System.out(10751): <?xml version="1.0" encoding="UTF-8"?>
10-18 07:55:03.680: INFO/System.out(10751): <html><head /><body /></html>
-------------------------------------------------------------------------------------------------------------------------
이렇게 빈 xml 이 출력됩니다..
inputStream 은 entity.getContent(); 이걸로 가져왓습니다.
cleaner.clean() 메소드 오버로딩 되어잇는거 전부 해봤는데요..
inputStream 하고 Reader 를 인수로 넣는거만 안되더라구요.. 저 위에 소스로는요
왠만하면 inpustStream 읽지 않고.. 파일로 저장도 안하고
가져온 inputStream 그대로 parsing 하려고하는데요...
분명히 예제같은거 보면 inputStream 으로도 된다고 나와잇는데..ㅜㅜ
고수님들 !! 알려주세요!!!
추가로..
<table>
<tr>
<td>name
<br><font color=blue>james</font>
</td></tr></table>
여기에서 name <- 이 문자열만 가져고오 싶으면 어떻게해야하는지좀...갈켜주세요..