В теге <img>
на самом деле нет символьного содержимого, а значение, которое вы ищете, должно быть извлечено из атрибутов.
Для этого вам необходимо переопределить startElement(String namespaceURI, String localName, String qName, Attributes atts)
, распознать<img>
пометьте более или менее, как вы делаете, и получите нужное значение из параметра atts
.
Справка по отладке:
Использование этого(простой / глупый) обработчик:
package com.donroby.so;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class DebugHandler extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
printParseInfo("startElement:", uri, localName, qName);
int attributesLength = attributes.getLength();
for (int i = 0; i < attributesLength; i++) {
printAttributeInfo(attributes, i);
}
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
printParseInfo("endElement: ", uri, localName, qName);
}
@Override
public void characters(char[] chars, int start, int length) throws SAXException {
String str = "";
for (int i = start; i < start + length; i++)
str += chars[i];
System.out.println("Characters: '" + str + "'");
}
private void printAttributeInfo(Attributes attributes, int i) {
System.out.println(String.format("%s URI: '%s', localName: '%s', qName: '%s', Value: '%s'", "Attribute ",
attributes.getURI(i), attributes.getLocalName(i), attributes.getQName(i), attributes.getValue(i)));
}
private void printParseInfo(String type, String uri, String localName, String qName) {
System.out.println(String.format("%s URI: '%s', localName: '%s', qName: '%s'", type, uri, localName, qName));
}
}
startElement: URI: '', localName: '', qName: 'feed'
Characters: '
'
startElement: URI: '', localName: '', qName: 'title'
Characters: 'This is Title'
endElement: URI: '', localName: '', qName: 'title'
Characters: '
'
startElement: URI: '', localName: '', qName: 'count'
Characters: '10'
endElement: URI: '', localName: '', qName: 'count'
Characters: '
'
startElement: URI: '', localName: '', qName: 'desc'
Characters: '
This is a description for a sample feed '
startElement: URI: '', localName: '', qName: 'img'
Attribute URI: '', localName: 'src', qName: 'src', Value: 'http://someimagelink.com/img.jpg'
endElement: URI: '', localName: '', qName: 'img'
Characters: '
'
endElement: URI: '', localName: '', qName: 'desc'
Characters: '
'
startElement: URI: '', localName: '', qName: 'link'
Characters: 'This is link'
endElement: URI: '', localName: '', qName: 'link'
Characters: '
'
endElement: URI: '', localName: '', qName: 'feed'
Это указывает на то, что тег <img>
действительно генерирует начальные и конечные события.