ALL,
I wrote a simple SAX XML parser. It works and I was testing it with local XML file. Here is my code:
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 ) ) );
Now I need to read this XML file from the website. The code I'm trying is:
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() );
I'm getting compiler error
"The method parse(InputSource) is not applicable for the argument (InputStream)".
I need help figuring out what do I need.
Thank you.
While I hate to sound obvious, is there any reason you're not using this constructor?
InputSource source = new InputSource(stream);
Document doc = docBuilder.parse(source);
Note that that's very similar to what you're doing in the first section of code. After all, openRawResource
returns an InputStream
as well...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With