Ich brauche Hilfe beim Parsen einer XML-Datei. Mein Problem ist, dass ich nicht weiß, wie man den Delegierten didEndElement implementiert.
Was ich will ist, dass ich 2 Zellen haben werde, wo das Alte Testament und das Neue Testament ausgestellt werden und dann die Bücher der Bibel und die Kapitel. Wenn ich nur Hilfe mit dem XML-Parsing bekommen kann, kann ich den Rest verwalten.iPhone - Parsing XML-Datei - Bitte helfen!
Wir sind sehr dankbar für jede Hilfe!
Danke und Gruß!
Meine XML-Datei ist wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<bible>
<testament name="Old Testament">
<book name="Genesis">
<chapter id="Genesis 1"></chapter>
<chapter id="Genesis 2"></chapter>
</book>
<book name="Exodus">
<chapter id="Exodus 1"></chapter>
<chapter id="Exodus 2"></chapter>
</book>
</testament>
<testament name="New Testament">
<book name="Matthew">
<chapter id="Matthew 1"></chapter>
<chapter id="Matthew 2"></chapter>
</book>
<book name="Revelation">
<chapter id="Revelation 1"></chapter>
<chapter id="Revelation 2"></chapter>
</book>
</testament>
</bible>
// Bible.h
#import <Foundation/Foundation.h>
@interface Bible : NSObject {
NSMutableArray *bible;
NSMutableArray *testament;
NSMutableArray *book;
NSString *chapterID;
}
@property (nonatomic, retain)NSMutableArray *bible;
@property (nonatomic, retain)NSMutableArray *testament;
@property (nonatomic, retain)NSMutableArray *book;
@property (nonatomic, retain)NSString *chapterID;
@end
// Bible.m
#import "Bible.h"
@implementation Bible
@synthesize bible;
@synthesize testament;
@synthesize book;
@synthesize chapterID;
- (void) dealloc {
[bible release];
[testament release];
[book release];
[chapterID release];
[super dealloc];
}
@end
//
// XMLParser.h
// BibleXML
//
#import <Foundation/Foundation.h>
#import "Bible.h"
@protocol NSXMLParserDelegate;
@class BibleXMLAppDelegate, Bible;
@interface XMLParser : NSObject <NSXMLParserDelegate> {
NSMutableString *currentElementValue;
BibleXMLAppDelegate *appDelegate;
Bible *theBible;
}
- (XMLParser *) initXMLParser;
@end
Es folgt die Ausgabe von der Debugger-Konsole:
2010-12-08 19:53:10.101 BibleXML[25641:207] found file and started parsing
2010-12-08 19:53:10.102 BibleXML[25641:207] Found element: bible
2010-12-08 19:53:10.103 BibleXML[25641:207] Testament: Old Testament
2010-12-08 19:53:10.103 BibleXML[25641:207] Book: Genesis
2010-12-08 19:53:10.104 BibleXML[25641:207] Chapter: Genesis 1
2010-12-08 19:53:10.104 BibleXML[25641:207] Chapter: Genesis 2
2010-12-08 19:53:10.105 BibleXML[25641:207] Book: Exodus
2010-12-08 19:53:10.105 BibleXML[25641:207] Chapter: Exodus 1
2010-12-08 19:53:10.106 BibleXML[25641:207] Chapter: Exodus 2
2010-12-08 19:53:10.107 BibleXML[25641:207] Testament: New Testament
2010-12-08 19:53:10.107 BibleXML[25641:207] Book: Matthew
2010-12-08 19:53:10.108 BibleXML[25641:207] Chapter: Matthew 1
2010-12-08 19:53:10.108 BibleXML[25641:207] Chapter: Matthew 2
2010-12-08 19:53:10.109 BibleXML[25641:207] Book: Revelation
2010-12-08 19:53:10.109 BibleXML[25641:207] Chapter: Revelation 1
2010-12-08 19:53:10.110 BibleXML[25641:207] Chapter: Revelation 2
2010-12-08 19:53:10.110 BibleXML[25641:207] No Errors
Rollen Sie meine Änderungen nicht wieder zurück –
Willkommen bei Stack Overflow. Diese Frage ist vollständig und völlig unlesbar. Bitte benutzen Sie die Schaltfläche "101010", um Ihren Code zu formatieren, und überprüfen Sie die Vorschau, bevor Sie auf den Post klicken. Wenn Sie es nicht lesen können, wie können wir es lesen? –
Ich reparierte es für ihn –