2017-01-25 23 views
0

正在嘗試下面的XML標記轉換XML轉換自定義類型:問題在使用swxmlhash

<MTag media="wifi">122</MTag> 

爲等效的類型,但我無法找到所提供的示例中的任何方式來做到這一點。

都試過了,

struct Profile: XMLIndexerDeserializable { 
// some other elements... 
    let MTag: MTagElement 

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

相應地,

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() 
     ) 
    } 
} 

這是反正錯了。將以下標記轉換爲等效的自定義類型的方法是什麼?

+0

XML中的「UpdateInterval」在哪裏?我沒有看到任何關於' 122''的示例XML標籤。 –

+0

編輯了這個問題 –

回答

0

我想把屬性值放在一個單獨的屬性中。

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") 
     ) 
    } 
} 

如果還有其他方法可以正確解決這個問題,那麼請指教。