开发者

SQLITE Insert returns value with extra line

开发者 https://www.devze.com 2023-03-13 14:20 出处:网络
While parsing the data I insert the data in sqlite. But for some reason when I run the SELECT query it returns me with extra line and a tab space. When I write this query it inserts the data correctly

While parsing the data I insert the data in sqlite. But for some reason when I run the SELECT query it returns me with extra line and a tab space. When I write this query it inserts the data correctly but with extra spaces.

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
   namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict {

  if([elementName isEqual:@"root"]) {
}

else if([elementName isEqualToString:@"value"]) {
    value = [[Value alloc] init] ;
}
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

    if(!trueValue) 
        trueValue = [[NSMutableString alloc] initWithString:string];
    else{
        [trueValue appendString:string];

    }
    }

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
   namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

if([elementName isEqualToString:@"root"])
    return;


if([elementName isEqualToString:@"value"]) {

    NSString *sqlQuery = [NSString stringWithFormat:@"INSERT OR REPLACE INTO DETAIL(ID,KEY, TITLE) VALUES ('%@','%@','%@');", key, parent_key, title];
    const char *insert_sql = [sqlQuery UTF8String];
    sqlite3_exec(db, insert_sql, NULL, NULL, NULL);
}



else if([elementName isEqualToString:@"key"])
    [value setValue:finalValue forKey开发者_运维技巧:elementName]

[trueValue release];
trueValue = nil;

}

How can I REPLACE the extra spaces basically like : "\n\t\t\t" with "" before this statement for all the rows?


I had a similar problem which I fixed by trimming out all the whitespace characters like this:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 

    if(!trueValue) 
        trueValue = [[NSMutableString alloc] initWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
    else
        [trueValue appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

}


Try this:

[string stringByReplacingOccurrencesOfString:@"\n\t\t\t" withString:@""]

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号