gpt4 book ai didi

ios - 如何正确解析本地XML?

转载 作者:行者123 更新时间:2023-12-01 16:00:13 33 4
gpt4 key购买 nike

我是iOS编程的新手;现在我正在尝试解析本地XML文件。
它工作正常,并在NSLog中显示了名称。但是当我在上面粘贴相同的东西时,它只显示了一次。

谁能指导我如何在日志中再次显示相同的字符串?

这是我第一次尝试解析时的本地XML,它显示了结果

    <Author>
<name>Collin Ruffenach</name>
<age>23</age>
<gender>male</gender>
<Books>
<Book>
<title>Objective C for the iPhone</title>
<year>2010</year>
<level>intermediate</level>
</Book>
</Books>
</Author>

第二次,我尝试了相同的XML文件,但几次粘贴了相同的东西:
    <Author>
<name>Collin Ruffenach</name>
<age>23</age>
<gender>male</gender>
<Books>
<Book>
<title>Objective C for the iPhone</title>
<year>2010</year>
<level>intermediate</level>
</Book>
</Books>
</Author>
<Author>
<name>Collin Ruffenach</name>
<age>23</age>
<gender>male</gender>
<Books>
<Book>
<title>Objective C for the iPhone</title>
<year>2010</year>
<level>intermediate</level>
</Book>
</Books>
</Author>
<Author>
<name>Collin Ruffenach</name>
<age>23</age>
<gender>male</gender>
<Books>
<Book>
<title>Objective C for the iPhone</title>
<year>2010</year>
<level>intermediate</level>
</Book>
</Books>
</Author>

但无法获得所需的结果。

这是我的.m代码
 -init {
if(self == [super init]) {
parser = [[NSXMLParser alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"sample1" ofType: @"xml"]]];
[parser setDelegate:self];
[parser parse];
}
return self;
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {

NSLog(@"Started Element : %@", elementName);
element = [NSMutableString string];

}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

NSLog(@"Element End named: %@ with avalue of: %@", elementName, element);

}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{

if(element == nil)
{

element = [[NSMutableString alloc] init];
}

[element appendString:string];

}

谁能指导我如何一次又一次地显示我的结果?

最佳答案

问题不在于解析代码,而在于您的XML输入。
XML文件必须具有单个顶级元素,例如:

<Authors>
<Author>
...
</Author>
<Author>
...
</Author>
<Author>
...
</Author>
</Authors>

在您的情况下,XML解析器在第一个Author元素之后停止读取。

关于ios - 如何正确解析本地XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582434/

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