我想在 NSXMLParse 中为空标签 XML 设置字符串“EMPTY”。例:我的 xml:
<STATE>0</STATE>
<MEMO/>
在上述 XML 中,MEMO 标记为空。我想当 NSXMLParse 解析成标签时,如果它为空,则在标签中获取字符串“EMPTY”。我使用下面的代码来解析 xml:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
NSLog(@"Did start element");
if ( [elementName isEqualToString:@"FILENAME"])
{
XML_FIELD = FILENAME_CLOUD2;
NSLog(@"found rootElement");
return;
}
else if ( [elementName isEqualToString:@"MEMO"])
{
NSLog(@"found rootElement");
XML_FIELD = MEMO;
return;
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"Did end element");
if ([elementName isEqualToString:@"FILENAME"])
{
NSLog(@"rootelement end");
}
[strMemoEmpty setString:@"EMPTY"];
XML_FIELD = UNIMPORTANT2;
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
//NSString *tagName = @"USER_NAME";
if (XML_FIELD == FILENAME_CLOUD2)
{
NSLog(@"Value %@",string);
[FileCompletedArray insertObject:string atIndex:0];
}
else if (XML_FIELD == MEMO)
{
NSLog(@"Value %@",string);
if (string != nil) {
[strMemoEmpty setString:@""];
[strMemoEmpty appendString: string];
NSLog(@"foundResults: %@",strMemoEmpty);
}
[MemoArray insertObject:string atIndex:0];
}
}
我使用了上面的代码,但它没有检查 MEMO 标签是否为空。解析时错过了。你有什么建议吗?提前致谢