gpt4 book ai didi

objective-c - Cocoa/Obj-C - 计算 XML 文件中的元素数量

转载 作者:行者123 更新时间:2023-12-03 17:43:30 25 4
gpt4 key购买 nike

有一个应用程序读取特定 XML 文件中的一些信息。我想再添加一个选项,描述如下:

这是我的 XML 类型文件的示例:

<?xml version="1.0" ?>
<Report>
<ReportCreationDate>20110307162840</ReportCreationDate>
<ReportTitle>Title sample</ReportTitle>
<ReportDescription>Description sample</ReportDescription>
<Videos>
<Video>
<VideoTitle>Video 1</VideoTitle>
<VideoDescription>Video description sample</VideoDescription>
</Video>
<Video>
<VideoTitle>Video 2</VideoTitle>
<VideoDescription>Video description sample</VideoDescription>
</Video>
</Videos>
</Report>

我想数一下有多少个<Video>元素位于 <Videos> 中节点。
对于这个例子,它是2

我怎样才能做到这一点?使用 NSXMLDocument?

我想将结果写入文本字段。

示例:
XML 文件包含 5 个视频。


如果有人可以提供帮助,那就太好了!
提前致谢
米斯基亚
(抱歉我的英语不好,我是法国人:p)

最佳答案

像这样的事情应该可以完成工作。我将把错误处理留给你。

NSData *data = [NSData dataWithContentsOfFile:pathToYourXMLFile];

NSError *error = nil;

NSXMLDocument *document = [[NSXMLDocument alloc] initWithData:data options:0 error:&error];

if(!error)
{
NSXMLElement *rootElement = [document rootElement];

NSUInteger count = [[rootElement nodesForXPath:@"//Video" error:&error] count];

if(!error)
{
NSString *videosCount = nil;

if(count == 0)
videosCount = [NSString stringWithFormat:@"XML file contains no videos."];
else if(count == 1)
videosCount = [NSString stringWithFormat:@"XML file contains 1 video."];
else
videosCount = [NSString stringWithFormat:@"XML file contains %d videos.", count];

[myTextField setStringValue:videosCount];
}
}

[document release]

关于objective-c - Cocoa/Obj-C - 计算 XML 文件中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com