【问题标题】:XML Parsing Without using any delegate methods of nsxmlparser class不使用 nsxmlparser 类的任何委托方法的 XML 解析
【发布时间】:2011-06-15 07:46:58
【问题描述】:

我不想使用 nsxmlparser 委托方法。我想编写自己的 xml 解析方法。如何解析xml文件?

【问题讨论】:

  • 如果你不知道如何解析 xml,你最好使用一个库,然后尝试滚动你自己的......
  • 为什么?您对使用委托有什么反对意见?你认为你的代码会比 Apple 提供和支持的测试库更好吗?如果您遇到问题怎么办 - 您不能寻求帮助,因为我们不知道您的代码。

标签: iphone ios4 ios-simulator xml-parsing


【解决方案1】:

我真的不明白不使用委托有什么意义。好吧,你有两个选择:

  1. 使用另一个解析器

  2. 使用 NSString 方法在标记上分离 XML,然后解析它们。

【讨论】:

  • 有什么例子或一些关于它的提示吗?
  • 不,我更喜欢光明的一面:使用 NSXMLParser 委托 :)
  • 或者请告诉你为什么要自己解析?
【解决方案2】:

如果你不想做任何解析,你可以让 NSDictionary 为你做,

+ (id)dictionaryWithContentsOfFile:(NSString *)path
+ (id)dictionaryWithContentsOfURL:(NSURL *)aURL

[xml objectForKey:@"tagName"];

【讨论】:

  • 我很确定这些方法不会解析任意 XML。
  • 不是任意的,但如果这家伙可以控制 XML,那么这可能是一个可能的解决方案。
  • NSDictionary 的那些方法解析一个 plist,它通常以特定的 XML 格式存储。它是 XML 输入,但不是任意 XML 输入。
【解决方案3】:

您绝对没有理由试图避开代表。如果您想避免使用NSXMLParser,请尝试使用基于 DOM 的解析器,例如 TBXML。但是,NSXMLParser 使用起来非常简单。

【讨论】:

    【解决方案4】:

    您可以使用名为 GDataXMLNode (https://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/) 的 Google 库。

    非常易于使用,与 DOM 非常相似。 并且没有代表; )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多