我正在尝试使用 SAX 进行解析,并认为 iPhone Dev Center 中的 TopSongs 示例是一个很好的起点。我得到了大部分内容,但是当涉及到节点内的属性和值时,我在任何地方都找不到一个好的例子。XML 有一个指向封面艺术 URL 的路径。XML 节点看起来像这样。
<itms:coverArt height="60" width="60">http://a1.phobos.apple.com/us/r1000/026/Music/aa/aa/27/mzi.pbxnbfvw.60x60-50.jpg</itms:coverArt>
我为 startElement 尝试过的是这个……</p>
((prefix != NULL && !strncmp((const char *)prefix, kName_Itms, kLength_Itms)) &&
(!strncmp((const char *)localname, kName_CoverArt, kLength_Item) &&
!strncmp((const char *)attributes, kAttributeName_CoverArt, kAttributeLength_CoverArt) &&
!strncmp((const char *)attributes, kValueName_CoverArt, kValueLength_CoverArt) ||
!strncmp((const char *)localname, kName_Artist, kLength_Artist) ||
然后像这样在最后只用本地名称再次拿起它。
if (!strncmp((const char *)localname, kName_CoverArt, kLength_CoverArt)) { importer.currentSong.coverArt = [NSURL URLWithString:importer.currentString];
跟踪是 -[Song setCoverArt:]: unrecognized selector sent to instance。