ALL,
我写了一个简单的SAX XML解析器。它工作,我用本地XML文件测试它。这是我的代码:
SAXParserFactory spf = SAXParserFactory.newInstance();
XMLParser xmlparser = null;
try
{
SAXParser parser = spf.newSAXParser();
XMLReader reader = parser.getXMLReader();
xmlparser = new XMLParser();
reader.setContentHandler( xmlparser );
reader.parse( new InputSource( getResources().openRawResource( R.raw.categories ) ) );
现在我需要从网站上读取这个XML文件。我正在尝试的代码是:
public InputStream getXMLFile()
{
URL url = new URL("http://example.com/test.php?param=0");
InputStream stream = url.openStream();
Document doc = docBuilder.parse(stream);
}
reader.parse( new Communicator().getXMLFile() );
我收到编译错误
“方法解析(InputSource)不适用于参数(InputStream)”。
我需要帮助弄清楚我需要什么。
谢谢。
答案 0 :(得分:13)
虽然我讨厌听起来很明显,但你有没有理由不使用this constructor?
InputSource source = new InputSource(stream);
Document doc = docBuilder.parse(source);
请注意,这与您在第一部分代码中所做的非常相似。毕竟,openRawResource
也会返回InputStream
...