Ios 使用swxmlhash将xml转换为自定义类型时出现问题

Ios 使用swxmlhash将xml转换为自定义类型时出现问题,ios,xml,swift3,swxmlhash,Ios,Xml,Swift3,Swxmlhash,我正在尝试转换以下xml标记: <MTag media="wifi">122</MTag> 相应地 struct MTagElement: XMLIndexerDeserializable { let media: String let value: Int static func deserialize(_ node: XMLIndexer) throws -> MTagElement{ return try MTagE

我正在尝试转换以下xml标记:

<MTag media="wifi">122</MTag>
相应地

struct MTagElement: XMLIndexerDeserializable {
    let media: String
    let value: Int

    static func deserialize(_ node: XMLIndexer) throws -> MTagElement{
        return try MTagElement(
            media: node.value(ofAttribute: "media"),
            value: node["MTag"].value()
        )
    }
}

无论如何,这是错误的。如何将以下标记转换为其等效的自定义类型?

我试图将属性值放在一个单独的属性中

struct Profile: XMLIndexerDeserializable {
// some other elements...
    let mTag: Int
    let mTagMedia: String

    static func deserialize(_ node: XMLIndexer) throws -> Profile{
         return try SMCPreferenceProfile(
            mTag: node["MTag"].value(),
            mTagMedia: node["MTag"].value(ofAttribute: "media")
         )
    }
}

如果有任何其他方法可以正确解决此问题,请告知。

XML中的
“UpdateInterval”
在哪里?在您的
122
示例XML标记中,我没有看到任何与此相关的内容
struct Profile: XMLIndexerDeserializable {
// some other elements...
    let mTag: Int
    let mTagMedia: String

    static func deserialize(_ node: XMLIndexer) throws -> Profile{
         return try SMCPreferenceProfile(
            mTag: node["MTag"].value(),
            mTagMedia: node["MTag"].value(ofAttribute: "media")
         )
    }
}