我想在节标记中提取id的值。
节标记为:
[<stanza-id xmlns="urn:xmpp:sid:0" by="[email protected]" id="1531235744929009"></stanza-id>]
这是从Xmpp服务器收到的消息的一部分。我需要提取“ 1531235744929009”值。因此,我这样写:
var stanza = message.elements(forName: "stanza-id")
print(stanza)
var id = stanza.first?.attributes
if let attributes = stanza.first?.attributes {
let lastItem = attributes.last
if let stanzaID = lastItem?.stringValue {
print("stanzaID = \(stanzaID)")
}
}
该代码可以正常工作,但不是干净的代码。特别是在我写这行
lastItem = attributes.last
的地方,因为如果顺序更改,这将无法工作。 最佳答案
只需使用stanza.attributed(forName: String)
关于swift - 如何在Swift中从[DDXMLElement]中提取值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51268963/