Tag: xml

在C enum和XML之间转换

在XML中存储枚举并再次读取它的最简洁方法是什么? 说我有: enum ETObjectType {ETNormalObjectType, ETRareObjectType, ETEssentialObjectType}; …我想要一个变量, enum ETObjectType objectType = ETNormalObjectType; ,并将其转换为如下所示的XML: ETNormalObjectType 。 目前我正在做的是这样的: NSString* const ETObjectTypeAsString[] = {@”ETNormalObjectType”,@”ETRareObjectType”,@”ETEssentialObjectType”}; [anXMLElement addChild:[NSXMLElement elementWithName:@”objectType” stringValue:ETObjectTypeAsString[objectType]]]; ……但这并不完全理想; 每次更改枚举时,我都不满意更新两个列表。 但这是可以接受的。 更糟糕的是读回XML,我目前正在这样做: if ([[[anXMLElement childNamed:@”objectType”] stringValue] isEqualToString:@”ETRareObjectType”]) { [self initObjectType:ETRareObjectType]; } else if ([[[anXMLElement childNamed:@”objectType”] stringValue] isEqualToString:@”ETEssentialObjectType”]) { [self initObjectType:ETEssentialObjectType]; } else { [self initObjectType:ETNormalObjectType]; } 呸! […]