アプリ内でそれほど複雑ではないが大きなファイルを作成し、(MFMailComposeViewController を使用して) メールで送信できるようにしたい NSXMLElement および関連クラスは iPhone SDK に移植されていないため、XML ドキュメントを作成するためのオプション 前もって感謝します。
7192 次
4 に答える
2
恥知らずな自己宣伝:KSXMLWriter
于 2010-10-03T22:01:44.990 に答える
2
iOS 用のオープン ソース XML ストリーム ライターを試してください。
- Objective-C で書かれており、単一の .h. および .m ファイル
- 名前空間をサポートする @protocol とサポートしない @protocol
例:
// allocate serializer
XMLWriter* xmlWriter = [[XMLWriter alloc]init];
// start writing XML elements
[xmlWriter writeStartElement:@"Root"];
[xmlWriter writeCharacters:@"Text content for root element"];
[xmlWriter writeEndElement];
// get the resulting XML string
NSString* xml = [xmlWriter toString];
これにより、次の XML 文字列が生成されます。
<Root>Text content for root element</Root>
于 2010-10-19T23:09:59.220 に答える
-1
これは NSString 構築の宿題です。抽象的には、次のようなプロトコルを作成します。
@protocol XmlExport
-(NSString*)xmlElementName;
-(NSString*)xmlElementData;
-(NSDictionary*)xmlAttributes;
-(NSString*)toXML;
-(NSArray*)xmlSubElements;
@end
保存するすべてがそれを実装していることを確認し、次のようなもので XML を構築します。
-(NSString*)toXML {
NSMutableString *xmlString;
NSString *returnString;
/* Opening tag */
xmlString = [[NSMutableString alloc] initWithFormat:@"<%@", [self xmlElementName]];
for (NSString *type in [self xmlAttributes]) {
[xmlString appendFormat:@" %@=\"%@\"", type, [[self xmlAttributes] valueForKey:type]];
}
[xmlString appendString:@">"];
/* Add subelements */
for (id<XmlExport> *s in [self xmlSubElements]) {
[xmlString appendString:[s toXML]];
}
/* Data */
if ([self xmlElementData]) {
[xmlString appendString:[self xmlElementData]];
}
/* Close it up */
[xmlString appendFormat:@"</%@>", [self xmlElementName]];
/* Return immutable, free temp memory */
returnString = [NSString stringWithString:xmlString];
[xmlString release]; xmlString = nil;
return returnString;
}
于 2010-10-03T10:02:32.607 に答える