ios - Swift中类的Xml序列化/反序列化

标签 ios xml swift serialization

作为 Swift 的新手

我不知道如何将类序列化为xml

Class Employee
{
    var mName : String = ""
    var Name : String
        {
        get
        {
            return mName
        }
        set
        {
            mName = newValue
        }
    }
    var mDesingation : String = ""
    var Desingation: String
        {
        get
        {
            return mDesingation 
        }
        set
        {
            mDesingation = newValue
        }
    }

}

我进行了很多搜索,但没有找到任何适用于 Swift 的 XML 序列化引擎。

最佳答案

XML 序列化

对于 XML 序列化,我建议您使用以下库:

https://github.com/skjolber/xswi

由于用法非常简单但有据可查,因此我不会在此处复制它,您可以直接使用他们提供的示例。由于您的类(class)非常简单,因此这是足够的解决方案。 AFAIK 没有提供自动序列化的库,因为它没有在 iOS 上使用。核心数据为您提供了序列化为 XML 的选项,但这是一个非常有问题的问题,而且大多不能用于您想要的。

NSCoding/NSKeyedArchiver

如果你只需要将类存储在磁盘上并再次加载它,有更好的选择,那就是使用 NSKeyedArchiver/NSCoding 协议(protocol)。同样,there is great article关于如何通过大量示例使用它,所以只是基础知识:

  • 您扩展您的类,使其符合 NSCoding 协议(protocol)
  • 您编写了两个方法的实现 - encodeWithCoder:initWithDecoder:
  • 您使用 NSKeyedArchiver 来存档您的类(class)
  • 您编写保存到磁盘的 NSData(反之亦然)

希望对您有所帮助!

关于ios - Swift中类的Xml序列化/反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717122/

相关文章:

iphone - 在 UITableView 单元格中显示 JSON 对象 - 应用程序崩溃

java - Selenium Java findElement 查询对于唯一 ID 或 Xpath 无效

sql - Xquery返回具有受限节点的行

ios - UIScrollView:内部 View 不正确,行为奇怪, View 在触摸时弹回

ios - 如何确定给定字符串所需的动态长度标签的行数?

ios - 使用 AudioToolbox - Swift 从音频信号获取原始样本流

c# - 如果存在于 XmlNodeList C# 中的 XML 节点上

ios - GCD设置线程间的调度/优先级

Swift 协议(protocol)扩展 - 无法访问 Func

php - AFNetworking multipartFormRequestWithMethod 适用于模拟器但不适用于设备