1

次のコードがあります。

NSString *subtitle = [[[node elementsForName:@"subtitle"] objectAtIndex:0] stringValue];
NSString *duration = [[[node elementsForName:@"itunes:duration"] objectAtIndex:0] stringValue];

最初の行は完全に機能します。ただし、2行目は機能しません。名前空間と関係があると思いますが、私はこれらすべてにかなり慣れていないので、ガイダンスをいただければ幸いです。ありがとうございました!


を使用しelementsForLocalName:URI:て要素を正しく読み取ることができることがわかりました。CXMLElementここでの問題は、TouchXML ライブラリを使用しているため、そのメソッドが構造にマップされていないように見えることです(こちらを参照)。

問題は、そのメソッドを使用できるようにaCXMLElementを anに変換するにはどうすればよいかということです。NSXMLElement

4

1 に答える 1

2

「itunes」は名前空間識別子です。実際にはそれ自体には何の意味もありません。URI を問題の要素にリンクするだけです。名前空間の下にある iTunes RSS 拡張機能を使用しているようですhttp://www.itunes.com/dtds/podcast-1.0.dtd

elementsForLocalNameしたがって、名前空間付きの要素については、代わりに使用したいと思います (Objective-C または NSXML :P に精通していません) 。

[node elementsForLocalName: @"duration" URI: @"http://www.itunes.com/dtds/podcast-1.0.dtd"]

2 番目の質問に対する回答については、以下のコメントを参照してください。

于 2010-07-09T00:05:11.350 に答える