The xml string is:
<Users>
<User name = "hoge" age = "20"/>
<User name = "fuga" age = "30"/>
</Users>
// Parse button event
-(IBAction) btnXml
{
NSString * str = [uitextview1 text];
// Convert string to data
NSData * xmlData = [str dataUsingEncoding: NSUTF8StringEncoding];
// NSXMLParser class is required for xml parsing. First, an NSXMLParser object is declared.
// Start Parsing
NSXMLParser * xmlRead = [[NSXMLParser alloc] initWithData: xmlData]; // initialize the NSXMLParser object
[XmlRead setDelegate: self]; // sets the DNS proxy for the NSXMLParser object
[XmlRead parse]; // call the proxy to parse the NSXMLParser object and check whether the parsing is successful.
}
// Parser to read content from two nodes
-(Void) parser :( NSXMLParser *) parser foundCharacters :( NSString *) string {
// NSLog (@ "% @", string );}
// Obtain the end value of the node
-(Void) parser :( NSXMLParser *) parser didEndElement :( NSString *) elementName
NamespaceURI :( NSString *) namespaceURI qualifiedName :( NSString *) qName {
// NSLog (@ "% @", elementName );}
// Get the nod Value
-(Void) parser :( NSXMLParser *) parser didStartElement :( NSString *) elementName
NamespaceURI :( NSString *) namespaceURI qualifiedName :( NSString *) qName
Attributes :( NSDictionary *) attributeDict
{
// NSLog (@ "% @", elementName );
If ([elementName isEqualToString: @ "user"])
{
NSString * strName = [attributeDict valueForKey: @ "name"];
NSString * strAge = [attributeDict valueForKey: @ "age"];
NSString * strUser = uitextview2.text;
StrUser = [strUser stringByAppendingFormat: @ "Name: % @, age: % @ \ n", strName, strAge];
[Uitextview2 setText: strUser];
// NSLog (@ "Name: % @, age: % @", strName, strAge );
}
}
From fanwa Software