gpt4 book ai didi

ios - 快速解析 xml 响应 odoo

转载 作者:搜寻专家 更新时间:2023-11-01 06:54:30 24 4
gpt4 key购买 nike

我正在搜索一个框架来将 xml 解析为 swift 上的 swift 类

我有这样的 react

<?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)

希望这对您有所帮助。

关于ios - 快速解析 xml 响应 odoo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com