使用 SwiftParsec 的简单 XMLRPC 解析器
SwiftXMLRPC
SwiftXMLRPC 是 XMLRPC 的轻量级解析器。
在后台,这个项目使用 SwiftParsec 来解析 XML。
所有类型都支持序列化和反序列化。
用法
解析
// success(SwiftXMLRPC.XMLRPC.Response.params([SwiftXMLRPC.XMLRPC.Parameter.double(1.0)]))
print(
XMLRPC.Response.deserialize(
from: """
<?xml version="1.0" encoding="UTF-8"?><methodResponse><params><param><value><double>1.0</double></value></param></params></methodResponse>
""",
sourceName: "https://examplewebsite.com/XMLRPC"
)
)
序列化
let xml = XMLRPC.Call(
method: "example.method",
params: [
.struct(
[ "first": .string("item"),
"second": .array([.double(1e9)]),
"third": .date(Date())
]
)
]
).serialize()
测试
测试是用 SwiftCheck 编写的,并利用往返来捕获错误。