【问题标题】:XMLParser.sharedParser.decode() in swift3swift3 中的 XMLParser.sharedParser.decode()
【发布时间】:2017-10-25 15:39:13
【问题描述】:

我在 swift2 中使用了此代码 XMLParser.sharedParser.decode()。但是我迁移 swift3 这段代码没有用。

我的代码在这里,

func xmppStream(_ sender: XMPPStream!, didReceive message: XMPPMessage!) {


    let result1 = XMLParser.sharedParser.decode(String(message))

    for (key, value) in result1 {

        let title = result1["title"]

    }

   if message.isChatMessage(){

       sms = String(message.body())
       if( sms == "" || message.body() == nil){

       }else{
           self.prefs.set(sms, forKey: "SMS")

       }
   }

}

【问题讨论】:

  • this code didn't work 这不是很有用。相反,请解释什么是错误,什么不起作用,应该做什么但没有做,等等。谢谢。
  • 类型“XMLParser”没有成员“sharedParser”@EricAya
  • swift3怎么写? @EricAya

标签: ios iphone xcode swift3 nsxmlparser


【解决方案1】:

如果您使用的是来自 this repo 的代码,很遗憾,它尚未升级到 Swift 3。

【讨论】:

    【解决方案2】:
    var event : DDXMLElement = message.forName("event", xmlns: "http://jabber.org/protocol/pubsub#event")!
    
                let items : [DDXMLElement] = event.elements(forName: "items")
    
                for i: DDXMLElement in items {
    
                    var item  = i.elements(forName: "item")
    
                    for j: DDXMLElement in item {
                        var xml = j.elements(forName: "xml")
                        for x : DDXMLElement in xml {
                            var about = x.elements(forName: "about")
    
                           debugPrint(about.cs_arrayValue().first?.stringValue)
    
                        }
                    }
    
                }
    

    添加上面的代码后,我的问题就解决了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多