如何获取XML节点的属性名称 - GDataXMLNode

时间:2012-02-08 03:37:14

标签: objective-c ios xml xml-parsing gdata-api

如何在 GDataXMLNode 中获取XML节点的属性名称。

我需要从这个获得“anyAttribute”和“anyAttribute2”......

<anynode anyAttribute="anyvalue" anyAttribute2="123"/>

有一种方法或者我应该尝试其他选择吗?

3 个答案:

答案 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/