从Cocoa应用程序读取和解析XML文件

时间:2011-07-26 14:18:15

标签: xml cocoa macos

是否有从Cocoa加载,读取和解析XML文件的标准方法?

我在this问题中遵循了解决方案,但我无法理解,我感到困惑。我是一名C程序员,obj-c不是我的强项。我们的想法是解析XML文件并将数据加载到GUI上的几个对象中。

感谢您的帮助。

修改

这是我需要解析的XML的一个例子。我需要一个完整的例子来说明如何做到这一点,因为我发现的所有一些例子都让我无处可去。谢谢,我感谢你的帮助。

<Project Name="Accountant">
    <Name>
        Some Name
    </Name>

    <Year>
        2011
    </Year>

    <ApplicationStatus>
        In Progress
    </ApplicationStatus>

    <OutputDir>
        /SomePath/To/a/FileName
    </OutputDir>
</Project>

1 个答案:

答案 0 :(得分:2)

NSXMLParser与其代理人合作解析一些XML数据。首先分配/初始化解析器,直接给它NSData对象(包含XML数据),或者可以检索要解析的XML数据的URL。 然后通过设置其delegate属性为解析器提供对委托的引用,最后请求解析器解析数据。

Event-Driven XML Programming Guide中描述了这一点。

简而言之,NSXMLParser是解析数据的对象,但您不会从中获取任何元素或属性。
相反,解析器在找到某些内容时告诉其委托,然后委托可以处理该元素或属性。这也意味着您不必等待解析器完成其工作,您只需告诉它开始解析 所以在这个模式中,最重要的是根据你想用XML做什么来实现NSXMLParser的委托方法。

如果您需要有关每个课程的详细信息,您还可以访问:

NSXMLParser Class Reference
NSXMLParserDelegate Protocol Reference