问题
I used this code XMLParser.sharedParser.decode()
in swift2. But I migrate swift3 this code didn't work.
My code is here,
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")
}
}
}
回答1:
If you are using codes from this repo, unfortunately, it hasn't been upgraded to 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)
}
}
}
After I added the above code, my problem is solved!
来源:https://stackoverflow.com/questions/40717212/xmlparser-sharedparser-decode-in-swift3