書き換える必要がある限り、GDataXML を使用して XML ファイルを解析する必要があります。私が遭遇した問題は、これを行う方法に関するものではありません。たくさんのチュートリアルがあり、手順を理解したと思います。基本的に、私はそれを動作させることができないいくつかのコード行があります:
+(ArrayItems *)loadXML{
NSLog(@"Start");
NSString *filePath=[ArrayItemsParser dataFilePath];
if (filePath!=nil) NSLog(@"Filepath created: %@",filePath);
NSData *xmlData=[NSMutableData dataWithContentsOfFile:filePath];
if(xmlData!=nil) NSLog(@"xmlData created");
NSError *error;
GDataXMLDocument *docXML=[[GDataXMLDocument alloc] initWithData:xmlData error:&error];
if(docXML!=nil) NSLog(@"Done");
NSLog(@"End");
これは、必要な情報を XML ファイルから作成したクラス モデルにロードするために使用する静的メソッドの始まりです。基本的に、プロジェクトを実行して何が機能していないかを確認すると、コンソールに「開始」のみが出力されます。しかし、コードから行を削除すると
NSError *error;
GDataXMLDocument *docXML=[[GDataXMLDocument alloc] initWithData:xmlData error:&error];
if(docXML!=nil) NSLog(@"Done");
プロジェクトを再度実行すると、今度はコンソールに出力されます
2012-09-27 11:39:46.617 ParsingMap2[11388:207] 開始
2012-09-27 11:39:46.619 ParsingMap2[11388:207] 作成されたファイルパス: /Users/ivanmelis/Library/Application Support/iPhone Simulator/5.0/Applications/CD93660C- 46FB-4118-9A8D-0574433F6BAB/ParsingMap2.app/ ConfMap.xml
2012-09-27 11:39:46.619 ParsingMap2[11388:207] xmlData が作成されました
2012-09-27 11:39:46.619 ParsingMap2[11388:207] 終了
だから私は問題が行にあると思います
NSError *error;
GDataXMLDocument *docXML=[[GDataXMLDocument alloc] initWithData:xmlData error:&error];
if(docXML!=nil) NSLog(@"Done");
前述したように、いくつかのチュートリアルと GDataXML パーサーのドキュメントを読みましたが、問題を解決できませんでした...または少なくとも修正方法がわかりません。GDatatXMLDocument を作成する正しい方法のようです。誰でも私にアドバイスを与えることができますか?