2016-05-05 8 views
1

Hallo ich mit dem xmpp arbeite alles, was Arbeit fine.But ich nicht imstande bin, unter xmlWie analysiere ich eine XML-XML in IOS?

<message 
xmlns="jabber:client" to="[email protected]" id="859e7-870" type="chat" from="[email protected]/Smack"> 
<body>Broadcast</body> 
<properties 
    xmlns="http://www.jivesoftware.com/xmlns/xmpp/properties"> 
    <property> 
     <name>stream</name> 
     <value type="string">8d879bea44f792468d6ecad161d3e545</value> 
    </property> 
    <property> 
     <name>date</name> 
     <value type="string">2016-05-05 10:36:25</value> 
    </property> 
    <property> 
     <name>broadcast</name> 
     <value type="string">Broadcast</value> 
    </property> 
</properties> 
</message> 

in der obigen xml zu analysieren zuerst muss ich, dass Körper ist gleich Sendung überprüfen. Dann muss ich <name>stream</name><value type="string">8d879bea44f792468d6ecad161d3e545</value> analysieren, wie man den Namen und den Wert in oben xml erhält. ich so versucht, aber jedes Mal, Bedingung ist success.below meinen Code

if ([message elementsForName:@"name"]) { 
    NSArray *nameArray=[message elementsForName:@"name"]; 
    NSLog(@"name Broadcast %@",nameArray); 

} 

ist aber immer Namearray mich

Antwort

0

Try this empty.please zu helfen ... <name>stream</name> ist Array-Element und <property>... <\property> ist NSArray

NSXMLElement *properties = [message elementForName:@"properties"]; 
NSArray *property = [properties elementsForName:@"property"]; 
NSLog(@"property: %@", property); 

//loop to get name and value 
for (NSXMLElement *i in property) 
{ 
    NSXMLElement *name = [i elementForName:@"name"]; 
    NSString *n = [name stringValue]; 
    NSLog(@"name: %@", n); 
    // like wise you can get value 
} 
Verwandte Themen