我想重用来自HTTP response.resultset()...
的Inputstream// ------------以下方法对我没有帮助,每个方法都导致了 找不到saxparserException protocl。
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.IOException;
public static String readInputStreamAsString(InputStream in)
throws IOException {
BufferedInputStream bis = new BufferedInputStream(in);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
int result = bis.read();
while(result != -1) {
byte b = (byte)result;
buf.write(b);
result = bis.read();
}
return buf.toString();
}
//--------------
byte[] bytes=new byte[inputStream.available()];
inputStream.read(bytes);
String s = new String(bytes);
//------------------
StringBuilder response = new StringBuilder();
int value = 0;
boolean active = true;
while (active) {
value = is.read();
if (value == -1) {
throw new IOException("End of Stream");
} else if (value != '\n') {
response.append((char) value);
continue;
} else {
active = false;
}
}
return response.toString();
//--------------
BufferedInputStream ib = new BufferedInputStream(is,1024*1024);
StringBuffer sb = new StringBuffer();
String temp = ib.readLine();
while (temp !=null){
sb.append (temp);
sb.append ("\n");
temp = ib.readLine();
}
s = sb.toString()
答案 0 :(得分:1)
我使用以下方法解决了这个问题: -
document.parse(new ByteArrayInputStream(stream))
答案 1 :(得分:0)
如果您获得包含xml数据的http响应,则可以使用saxparser解析xml数据。
答案 2 :(得分:0)
我怀疑您可能误解了SAXParser.parse
方法签名。
采用String参数的parse方法的版本期望String表示引用内容而不是内容本身的URI。
如果您已将输入保存在String变量中,则最好在字符串上打开StringReader,在StringReader上创建一个InputSource,然后将其传递给解析器。