从Cocoa应用程序读取和解析XML文件
是否有标准的方法从Cocoa加载、读取和解析XML文件 我遵循了有问题的解决方案,但我不太明白,我感到很困惑。我是一名C程序员,obj-C不是我的强项。其思想是解析XML文件并将数据加载到GUI上的多个对象中 谢谢你的帮助从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>
<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-检查或。