Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Cocoa应用程序读取和解析XML文件_Xml_Cocoa_Macos - Fatal编程技术网

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

从Cocoa应用程序读取和解析XML文件,xml,cocoa,macos,Xml,Cocoa,Macos,是否有标准的方法从Cocoa加载、读取和解析XML文件 我遵循了有问题的解决方案,但我不太明白,我感到很困惑。我是一名C程序员,obj-C不是我的强项。其思想是解析XML文件并将数据加载到GUI上的多个对象中 谢谢你的帮助 <Project Name="Accountant"> <Name> Some Name </Name> <Year> 2011 </Year>

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

我遵循了有问题的解决方案,但我不太明白,我感到很困惑。我是一名C程序员,obj-C不是我的强项。其思想是解析XML文件并将数据加载到GUI上的多个对象中

谢谢你的帮助

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

    <Year>
        2011
    </Year>

    <ApplicationStatus>
        In Progress
    </ApplicationStatus>

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

这是我需要解析的XML的一个示例。我需要一个完整的例子,如何做到这一点,因为所有的点点滴滴的例子,我发现我没有采取任何行动。谢谢你,我感谢你的帮助

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

    <Year>
        2011
    </Year>

    <ApplicationStatus>
        In Progress
    </ApplicationStatus>

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

某个名字
2011
进行中
/SomePath/To/a/FileName

NSXMLParser与它的委托人一起解析一些XML数据。您首先alloc/init解析器,直接为它提供
NSData
对象(包含您的XML数据),或者提供一个URL,它可以在其中检索要解析的XML数据。
然后通过设置委托的
delegate
属性为解析器提供对委托的引用,最后要求解析器解析数据

这在中进行了描述

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

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

.

.

谢谢。这里有很多好的信息,它澄清了很多,但是它也让我更加困惑。正如我所说,我的obj-c不是很好(我是一个c程序员)。我可以通过编写C代码并手动解析来完成这项工作,但如果我能得到一个如何加载文件的示例(我猜是fopen()?),解析它并获取我需要的数据,那就太好了。这些链接都没有提供示例。有什么想法吗?再次感谢。@Jessica-老实说,我认为你最好(也是最简单)的选择是直接处理对象。你知道,我不是专业的C程序员,但C的一切都可以在一个目标C程序中完成。@Jessica-我知道你可以从C字符串(
-(id)initWithCString:(const char*)nullTerminatedCString编码:(NSStringEncoding)编码;
)中构造一个
NSString
,然后你可以从中获得
NSData
对象,并将其交给解析器。@Jessica-要加载文件,只需将URL交给
NSXMLParser
初始值设定项即可。。。URL也可以是设备中文件的URL。@Jessica-检查或。