【问题标题】:Get the value for xmlns from NSXMLElement iOS sdk从 NSXMLElement iOS sdk 获取 xmlns 的值
【发布时间】:2014-02-25 02:03:39
【问题描述】:

我正在开发 iOS 应用程序,我想获取 nsxmlelement 的命名空间。

我的 NSXMLElement *query 包含以下值。

<query xmlns="jabber:iq:roster" test="this is value">
<item subscription="to" name="test" jid="test@local"/>
</query>

我已使用以下代码获取 xmlns,但它无法正常工作

         NSLog(@"%@",[query attributeStringValueForName:@"test"]);
         NSLog(@"%@",[query attributeStringValueForName:@"xmlns"]);

test 的值已打印,但 xmlns 的值显示为 null

请告诉我如何获取 xmlns

的值

【问题讨论】:

    标签: ios xml nsxmlparser nsattributedstring nsxmlelement


    【解决方案1】:

    这是因为xmlns 不是属性。 xmlns 是一个命名空间定义。您可以通过[query namespaceForPrefix:nil].stringValue 获取。

    【讨论】:

    • 感谢米霍的回答
    • 当你使用 XMPPFramework 时还有一些额外的东西(我猜),看看头文件NSXMLElement+XMPP.h。在处理 XML 查询和节时,它添加了像 xmlns 这样的属性和其他非常有用的帮助器。使代码更易于阅读,然后直接使用 NSXMLElement。
    • 除非您使用包装库,否则上述代码应始终返回 nil,因为在使用 NSXML API 时 nil 不是有效的前缀值。相反,您必须传递一个空字符串。
    猜你喜欢
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多