다음과 같이 xml을 구문 분석하려고합니다. 내가 첫 번째 항목에 대한NSXMLParser가 html 태그를 구문 분석하지 않습니다.
#import "XMLParser.h"
@implementation XMLParser
@synthesize datas;
-(id) loadXMLByURL:(NSString *)urlString
{
datas = [[NSMutableArray alloc] init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
NSLog(@"Data is %@",data);
parser = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parse];
return self;
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"item"])
{
recentEnquiry = [XMLData alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"title"])
{
recentEnquiry.title = currentNodeContent;
}
if ([elementname isEqualToString:@"time"])
{
recentEnquiry.time = currentNodeContent;
}
if ([elementname isEqualToString:@"message"])
{
recentEnquiry.message = currentNodeContent;
[datas addObject:recentEnquiry];
}
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
@end
그러나 일반적인 분석 절차
내 Parser.h
#import "XMLData.h"
@interface XMLParser : NSObject<NSXMLParserDelegate>
{
NSMutableString *currentNodeContent;
NSMutableArray *datas;
NSXMLParser *parser;
XMLData *recentEnquiry;
}
@property (readonly, retain) NSMutableArray *datas;
-(id) loadXMLByURL:(NSString *)urlString;
내 Parser.m를 사용하여 분석하고
<xml>
<item>
<title>
21/2/2014 13:18:22
</title>
<time>
2014-02-21 02:49:03
</time>
<message>
<strong>
abcd</strong><br /><br /><em>abcd</em><br /><br /><u>abcd</u><br /><br /><br />
</message>
</item>
<item>
<title>
21/2/2014 12:9:40
</title>
<time>
2014-02-21 01:57:28
</time>
<message>
100
</message>
</item>
</xml>
나는 단지 ge t ">"라는 메시지를 HTML 태그에 포함 된 텍스트로 가져와야합니다. 다른 구문 분석 기법에 대해서는 NSXMParser의 단점을 알고 텍스트를 원한다는 사실을 알게되었습니다. 나는 혼자서 html을 변환하고 나눌 것이다. 제발 도와주세요.
N : B : foundCharacters 메소드에서 html 태그를 사용하여 원하는 텍스트를 가져오고 있지만 루프가 있습니다.
죄송합니다. HTML이 아닌 것 같습니다. – Injectios
@Injectios 첫 번째 항목의 메시지 노드를 확인하십시오. html 태그가 표시됩니다. – Saty
그런 다음이 태그를 구문 분석하려면 어떻게해야합니까? 너는 어떤 생각을 가지고 있니? – Saty