数分でxmlを書き換えることができるかどうかは、xmlのサイズに依存しますが、計算時間で数分かかることがあります。
単純な文字列の置換でこれを達成するとは思わないでしょう。私はXMLを解析する必要があると思うし、解析するので、文字列を区切り(コンマなどで区切って)、必要に応じて新しいXML文書を書いてください。
ここでは、使用した文字列を解析する簡単な例を示します。もちろん、それは現実にはもっと複雑だ場合は、カスタム文字列の解析が複雑になる:
- (void) DoWork
{
NSString *xmlSource = @"<Tag><minitag>40.23,12.7</minitag></Tag>";
NSData *data = [xmlSource dataUsingEncoding:NSUTF8StringEncoding];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementName caseInsensitiveCompare:@"minitag"] == NSOrderedSame)
{
NSLog(@"minitag");
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
NSLog(@"chars:%@", string);
NSArray *components = [string componentsSeparatedByString:@","];
for (NSString *comp in components)
{
NSLog(@"comp:%@", comp);
// This outputs:
// minitag
// chars:40.23,12.7
// comp:40.23
// comp:12.7
//
// At this point, you have the parts parsed, maintain an NSXmlDocument
// (or other xml writer)
// that you are writing to as you're parsing this
// Add your constant string elements and your sub data elements as you go
//
}
}
ありません:-)ああああああ、本当に?もっと真剣に、数分で抽出して書き込むコーディングに役立つものがありますか? – Oliver