【发布时间】:2026-02-16 12:40:01
【问题描述】:
如何在GDataXMLNode中获取XML节点的属性名。
我需要从中获取“anyAttribute”和“anyAttribute2”...
<anynode anyAttribute="anyvalue" anyAttribute2="123"/>
有一种方法,还是我应该尝试其他选择?
【问题讨论】:
标签: objective-c ios xml xml-parsing gdata-api
如何在GDataXMLNode中获取XML节点的属性名。
我需要从中获取“anyAttribute”和“anyAttribute2”...
<anynode anyAttribute="anyvalue" anyAttribute2="123"/>
有一种方法,还是我应该尝试其他选择?
【问题讨论】:
标签: objective-c ios xml xml-parsing gdata-api
有一个名为“AQXMLParser”的开源组件具有此功能。试一试: http://www.alexcurylo.com/blog/2009/06/09/code-aqxmlparser/
【讨论】:
这是一个示例代码:
GDataXMLElement *anynode = [GDataXMLNode elementWithName:@"anynode"];
GDataXMLElement *anyAttribute = [GDataXMLNode attributeWithName:@"anyAttribute" stringValue:@"anyvalue"];
GDataXMLElement *anyAttribute2 = [GDataXMLNode attributeWithName:@"anyAttribute2" stringValue:@"123"];
[anynode addAttribute:anyAttribute];
[anynode addAttribute:anyAttribute2];
这段代码创建了节点:
<anynode anyAttribute="anyvalue" anyAttribute2="123"/>
现在从 anynode 中提取属性值:
NSString *attribute1 = [anynode attributeForName:@"anyAttribute"].stringValue;
NSString *attribute2 = [anynode attributeForName:@"anyAttribute2"].stringValue;
【讨论】:
在您的情况(以及大多数其他情况)中,GDataXMLNode 实际上是 GDataXMLElement 子类的实例,因此只需将 GDataXMLNode 向下转换为 GDataXMLElement 并通过它们的名称(如果您知道它们)或通过属性的属性提取属性GDataXMLElement 实例。
【讨论】: