В приведенном вами HTML-коде метод parser:foundCharacters
не очень полезен. Это потому, что он читает символы в части значения элемента XML / XHTML.
Итак, учитывая следующий XML:
<person><firstname>bon</firstname><secondname>joydell</secondname></person>
И следующий почти-код:
NSMutableString *everythingString = [NSMutableString string];
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
[everythingString appendString:string];
}
Тогда everythingString
будет содержать "bonjoydell". parser: didStartElement вызывается при поиске тегов <person>
, <firstname>
и <secondname>
. parser: didEndElement будет вызываться при поиске тегов </firstname>
, </secondname>
и </person>
.
parser:didStartElement
не дает вам доступа к значениям, содержащимся в элементах XML, но дает доступ к значениям атрибутов.
Итак, вернемся к вашему примеру, единственные методы-делегаты, которые были бы с пользой вызваны, это parser:didStartElement
и parser:didEndElement
, и, будучи тегом в вашем примере, самодостаточен и не имеет только дочерних элементов, parser:didStartElement
даст любой полезные данные.