我有以下XML字符串。我正在尝试使用XMLMapper(第三方库)进行解析。
我需要创建
数组xml如下;
<RandomDecimals>
<decimal>98258979</decimal>
<decimal>1000002218</decimal>
<decimal>1000002102</decimal>
<decimal>1000005713</decimal>
<decimal>1000002035</decimal>
<decimal>1000001434</decimal>
<decimal>1000001066</decimal>
<decimal>1000001498</decimal>
<decimal>1000002313</decimal>
<decimal>1000016914</decimal>
<decimal>1000017021</decimal>
<decimal>1000019039</decimal>
<decimal>52373625</decimal>
</RandomDecimals>
要解析为对象的代码如下;
class DecimalElement: XMLMappable {
var nodeName: String!
var decimal: String?
required init(map: XMLMap) {
}
func mapping(map: XMLMap) {
decimal <- map["decimal"]
}
}
class Response: XMLMappable {
var nodeName: String!
var shouldReset: Bool!
var randomDecimals: [DecimalElement]?
required init(map: XMLMap) {
}
func mapping(map: XMLMap) {
randomDecimals <- map["RandomDecimals.decimal"]
shouldReset <- map["ShouldReset"]
}
总结一下,我需要将小数写入randomDecimals数组。但我需要使用XMLMapper
。
我做错了什么?
BR,
Erdem的
答案 0 :(得分:1)
如果您的XML看起来像这样:
<root>
<ShouldReset>true</ShouldReset>
<RandomDecimals>
<decimal>98258979</decimal>
<decimal>1000002218</decimal>
<decimal>1000002102</decimal>
<decimal>1000005713</decimal>
<decimal>1000002035</decimal>
<decimal>1000001434</decimal>
<decimal>1000001066</decimal>
<decimal>1000001498</decimal>
<decimal>1000002313</decimal>
<decimal>1000016914</decimal>
<decimal>1000017021</decimal>
<decimal>1000019039</decimal>
<decimal>52373625</decimal>
</RandomDecimals>
</root>
然后,您可以通过替换:
来解决您的问题var randomDecimals: [DecimalElement]?
使用:
var randomDecimals: [String]?
在Response
课程中。
class Response: XMLMappable {
var nodeName: String!
var shouldReset: Bool!
var randomDecimals: [String]?
required init(map: XMLMap) {
}
func mapping(map: XMLMap) {
randomDecimals <- map["RandomDecimals.decimal"]
shouldReset <- map["ShouldReset"]
}
}
您还可以使用Array
的{{1}}直接映射十进制数字:
Int64
希望这有帮助。