簡単なXMLは次のとおりです。
<MSG>
<ID>123<ID>
<Node>
<ID>456<ID>
</Node>
</MSG>
そして、私はのサブクラスでParentParser
あり、実装するパーサーを手に入れましたNSXMLParserDelegate
これParentParser
は次のようなものです。
- (id)initWithXmlString:(NSString *)xmlString
{
if ( (self = [super init]) ) {
NSString *str = [[NSString alloc] initWithString:xmlString];
self.xml = str;
[str release];
self.storingData = NO;
self.receiveString = [NSMutableString string];
self.elementsToParse = [NSArray array];
}
return self;
}
そして、これが私がXMLを解析する方法です。
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName{
if (self.m_oMyObject) {
if (self.storingData) {
NSString *tempStr = [self.receiveString stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[self.receiveString setString:@""];
if ([elementName isEqualToString:kID]) {
//Go in twice
}
//============ Code skips ===================
ご覧のとおりkID
、StringID
は2回解析されていました。しかし、タグ内にある、123
ではなく、唯一のものが欲しいのですが、どうすれば修正できますか?ありがとう。456
<Node>