如何在 GDataXMLNode 中获取XML节点的属性名称。
我需要从这个获得“anyAttribute”和“anyAttribute2”......
<anynode anyAttribute="anyvalue" anyAttribute2="123"/>
有一种方法或者我应该尝试其他选择吗?
答案 0 :(得分:1)
以下是示例代码:
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;
答案 1 :(得分:1)
在您的情况下(以及大多数其他情况),GDataXMLNode实际上将是GDataXMLElement子类的实例,因此只需将GDataXMLNode向下转换为GDataXMLElement并按名称提取属性(如果您了解它们)或通过属性属性GDataXMLElement实例。
答案 2 :(得分:0)
有一个名为“AQXMLParser”的开源组件具有此功能。试试看: http://www.alexcurylo.com/blog/2009/06/09/code-aqxmlparser/