I'm not sure why this is happening. I'm developing my library outside of the Android Framework, but I fully intend to move it inside once I get to a certain stage. So I'm using Java SDK 1.6, and the SAX parse that comes with it.
I've encountered this wierd error. My Java overridden method is:
Using java Syntax Highlighting
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException
Parsed in 0.034 seconds, using
GeSHi 1.0.8.4
Which is fine.
my XML is a string
Using xml Syntax Highlighting
<?xml version="1.0" encoding="UTF-8"?><mydata>XXXXXXXXX</mydata>
Parsed in 0.001 seconds, using
GeSHi 1.0.8.4
so I made a slight adjustment and am calling it like so:
Using java Syntax Highlighting
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp;
MyHandler th;
try {
sp = spf.newSAXParser();
mh= new MyHandler();
sp.parse(new InputSource(new StringReader(unparsedEntity)),mh);
MyObject test = mh.getParsedData();
}
Parsed in 0.035 seconds, using
GeSHi 1.0.8.4
The annoything thing, is it was never working. I was doing the tags and assignment all correctly. I decided to step through my code and debug. What I found was
In StartElement I changed
Using java Syntax Highlighting
if(localName.equalsIgnoreCase("mydata"))
{
_inTag = true;
}
Parsed in 0.035 seconds, using
GeSHi 1.0.8.4
To
Using java Syntax Highlighting
if(qName.equalsIgnoreCase("mydata"))
{
_inTag = true;
}
Parsed in 0.035 seconds, using
GeSHi 1.0.8.4
and now it works perfectly.
Now there are some tutorials that I have read that use qName, and some use localName. Is this a SAX version problem? Will I get this bug when I move my library over into an Android project? Any Ideas?