【发布时间】:2018-02-07 18:53:33
【问题描述】:
我想用github.com/mattn/go-xmpp Golang 包与 XMPP 用户一起操作。我换了一点官方example,得到了这样的东西:
switch v := chat.(type) {
case xmpp.IQ:
if len(v.Query) != 0 {
fmt.Printf("Query: %s", v.Query)
}
default:
fmt.Printf("detect default type: %T\n", v)
}
v.Query 是一个具有类似命名空间的 XML 文档
<query xmlns="jabber:iq:roster">
<item jid="JID1" name="Name" subscription="none" ask="subscribe">
<group></group>
</item>
<item jid="JID2" name="Another name" subscription="both">
<group>Group</group>
</item>
<item jid="JID3" name="Eman" subscription="both">
<group>AnotherGroup</group>
</item>
</query>
如何解析此文档并遍历 jid 元素?
【问题讨论】:
-
你有没有尝试过?例如,the
xmlpackage? -
当然我试过了,但是所有的例子都是
xml包文档没有说明命名空间。 -
此answer 可能对您的情况有所帮助。