NSXMLParser init с XML в формате NSString

Можно обобщить его, но существует, не участвуют в Java, как Вы хорошо говорите.

Это могло бы работать лучше.

public static String join(Iterable s, String delimiter) {
    Iterator iter = s.iterator();
    if (!iter.hasNext()) return "";
    StringBuilder buffer = new StringBuilder(iter.next());
    while (iter.hasNext()) buffer.append(delimiter).append(iter.next());
    return buffer.toString();
}

10
задан RickiG 3 December 2009 в 16:13
поделиться

3 ответа

Вы можете преобразовать строку в объект NSData с помощью метода dataUsingEncoding:

NSData *data = [myString dataUsingEncoding:NSUTF8StringEncoding];

Затем вы можете передать это в NSXMLParser.

31
ответ дан 3 December 2019 в 14:24
поделиться

Заголовки необязательны, но при необходимости вы можете сами вставить соответствующие заголовки:

NSString *header = @"<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
NSString *xml = [NSString stringWithFormat:@"%@\n%@", header, response);
NSData *data = [xml dataUsingEncoding:NSUTF8StringEncoding];
NSXMLParser *praser = [NSXMLParser initWithData:data];
2
ответ дан 3 December 2019 в 14:24
поделиться

К тому времени, когда NSXMLParser получит данные, он будет ожидать, что это будет XML ;-)

Я почти уверен, что заголовок инструкции обработки необязательный в этом контексте. То, как вы вставляете NSString в NSData , будет определять кодировку (используя dataUsingEncoding: ).

(правка: Я искал encoding enum, но Philippe Leybaert опередил меня, но все равно повторить его здесь, например: [nsString dataUsingEncoding: NSUTF8StringEncoding] )

Я прошел NSString s из XML таким способом раньше без проблем.

Не относится к этому вопросу как таковому, но по теме синтаксического анализа XML в контексте iPhone в целом вы можете найти эту мою запись в блоге интересной,

1
ответ дан 3 December 2019 в 14:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: