मैं एक यूआरएल से एक xml पार्स करने के लिए NSXMLParser का उपयोग कर रहा विशेष वर्ण (लहजे) पार्स नहीं कर सकताNSXMLParser
तत्वों में से कुछ "की तरह विशेष वर्ण (मेरे कोड लगभग ठीक here के समान है) "जो एक शब्द पसंद करता है ndndre दो (á और ndre) में विभाजित करने के लिए।
यहाँ मेरी loadXMLByURL
-(id) loadXMLByURL:(NSString *)urlString{
tickets = [[NSMutableArray alloc] init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
parser = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parse];
return self;}
मैं बहुत यकीन है कि यह है, क्योंकि एन्कोडिंग सेट नहीं है कर रहा हूँ है, लेकिन मुझे यकीन है कि जहां/कैसे लागू करने के लिए नहीं कर रहा हूँ (मैं इसे NSUTF8StringEncoding होने की जरूरत है लगता है)।
[अद्यतन] मेरे कोड का रेस्ट ...
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"ticket"])
{
currentTicket = [Ticket alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"name"])
{
currentTicket.name = currentNodeContent;
}
else if ([elementname isEqualToString:@"title"])
{
currentTicket.title = currentNodeContent;
}
else if ([elementname isEqualToString:@"status"])
{
currentTicket.status = currentNodeContent;
}
else if ([elementname isEqualToString:@"ticket"])
{
[tickets addObject:currentTicket];
[currentTicket release];
currentTicket = nil;
[currentNodeContent release];
currentNodeContent = nil;
}
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
[अद्यतन 2] नमूना xml ...
<RB>
<list>
<ticket>
<name>Andrew Ford</name>
<title>3rd release</title>
<status>1</status>
</ticket>
<ticket>
<name>David Jenkins</name>
<title>3rd release</title>
<status>0</status>
</ticket>
<ticket>
<name>Luis gomez ándre</name>
<title>3rd release</title>
<status>1</status>
</ticket>
</list>
</RB>
मैं ओबीजे-सी के लिए नया ब्रांड हूं, लेकिन मुझे लगता है कि आप डेटा को एनएसएसटींग में परिवर्तित कर सकते हैं, यूटीएफ 8 के रूप में एन्कोड करें [जैसा कि यहां दिखाया गया है) (http://stackoverflow.com/questions/2467844/ कन्वर्ट-यूटीएफ -8-एन्कोडेड-एनएसडीएटी-टू-एनएसस्ट्रिंग) और एनएसएक्सएमएल पार्सर को पास करें? – inkedmn
मैं NSXMLParser का बहुत उपयोग करता हूं और उस समस्या को नहीं मिला है। क्या आप उस कोड का हिस्सा पोस्ट कर सकते हैं जो XML टेक्स्ट को संसाधित करता है? –
मेरा बाकी कोड पोस्ट किया गया। मुझे आश्चर्य है कि क्या मुद्दा अब खरीदार में पाया गया है? –