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

Viv*_*rav 4 xml serialization ios swift

作为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
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我已经搜索了很多,但还没有碰到过任何XML序列化引擎的雨燕.

Jir*_*cak 5

XML序列化

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

https://github.com/skjolber/xswi

由于使用非常简单但有详细记录,我不会在此处复制,而是可以使用它们提供的示例.因为你的课很容易,所以这是足够的解决方案.AFAIK没有提供自动序列化的库,因为它不在iOS上使用.核心数据为您提供了序列化为XML的选项,但这很成问题,并且大多数情况下无法满足您的需求.

NSCoding/NSKeyedArchiver

如果您只需要将类存储在磁盘上并再次加载它,那么有更好的选择,那就是使用NSKeyedArchiver /NSCodingprotocol.同样,有很多关于如何使用它的大量文章,所以只是基础:

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

希望能帮助到你!