SAXyOX 0.0.3

SAXyOX 0.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 Apache 2
发布最新发布2014年12月

未声明 维护。



SAXyOX 0.0.3

  • Richard Easterling

SAXy OX - Objective-C XML 和 JSON 绑定库

SAXy OX 是 Objective-C 的一个全面功能 XML 和 JSON打了包框架。它的目的是允许领域对象可以以最少的编码量序列化到 XML 或 JSON。

功能包括

  • 从领域对象中高效读取/反序列化和写入/序列化 XML 或 JSON
  • 完全支持 XML 命名空间
  • 内置类型转换和格式化
  • 高度可配置的 API
  • 现代 Objective-C:ARC 和 blocks
  • 自反式自动映射
  • 针对 iOS 优化,无第三方依赖项

SAXyTests 文件夹中有几个经过良好记录的例子,包括

使用提示

  • 运行示例(在 Xcode 中选择 Product -> Test),设置断点来检查状态
  • 通过设置: reader.context.logReaderStack = YES; 来查看映射器的动作
  • 从有效的示例开始并稍作修改来创建您自己的映射
  • 如果未使用,可以删除 JSON 或 XML 文件夹

例如,给定以下类

@interface CartoonCharacter : NSObject
  @property(nonatomic)NSString *firstName;
  @property(nonatomic)NSString *lastName;
@end

可以在几行代码中定义 SAXy 映射器和读取器

NSString *xml = @"<tune><first>Daffy</first><last>Duck</last></tune>";

OXmlReader *reader = [OXmlReader readerWithMapper:          //declares a reader with embedded mapper
                      [[OXmlMapper mapper] elements:@[
                       [OXmlElementMapper rootXPath:@"/tune" type:[CartoonCharacter class]]
                       ,
                       [[[OXmlElementMapper elementClass:[CartoonCharacter class]]
                         xpath:@"first" property:@"firstName"]
                        xpath:@"last" property:@"lastName"]
                       ]]
                      ];

CartoonCharacter *tune = [reader readXmlText:xml];          //reads xml

STAssertEqualObjects(@"Daffy", tune.firstName, @"mapped 'first' element to 'firstName' property");
STAssertEqualObjects(@"Duck",  tune.lastName,  @"mapped 'last'  element to 'lastName'  property");