[英]swift parsing xml response odoo
我正在搜索一個框架來將xml解析為swift上的swift類
我有這樣的回應
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>id</name>
<value>
<int>23</int>
</value>
</member>
<member>
<name>name</name>
<value>
<string>20190111_Patient _Test 1_Frank</string>
</value>
</member>
<member>
<name>partner_id</name>
<value>
<boolean>0</boolean>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</param>
</params>
</methodResponse>
為了解析它,我試圖從https://github.com/gcharita/XMLMapper使用XMLMapper
解析從此響應轉換為對象
問題是xml的響應在節點上沒有名稱,我該如何正確解析這件事? 任何幫助,將不勝感激
您可以將XMLMapper嵌套映射與以下模型一起使用:
class MethodResponse: XMLMappable {
var nodeName: String!
var members: [Member]?
required init?(map: XMLMap) {}
func mapping(map: XMLMap) {
members <- map["params.param.value.array.data.value.struct.member"]
}
}
class Member: XMLMappable {
var nodeName: String!
var name: String?
var value: Value?
required init?(map: XMLMap) {}
func mapping(map: XMLMap) {
name <- map["name"]
value <- map["value"]
}
}
class Value: XMLMappable {
var nodeName: String!
var string: String?
var int: Int?
var boolean: Int?
required init?(map: XMLMap) {}
func mapping(map: XMLMap) {
string <- map["string"]
int <- map["int"]
boolean <- map["boolean"]
}
}
並映射您的XML調用MethodResponse
類的init(XMLString:)
函數,例如:
let methodResponse = MethodResponse(XMLString: xmlString)
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.