2016-05-09 5 views
0

こんにちは私は以下のXMLで作業しています。サーバからの私のXMLです。xmlタグ文字列を確認するには?

<message xmlns="jabber:client" to="[email protected]" id="A2EFL-1435" from="[email protected]"><x xmlns="jabber:x:event"><composing/><id>A2EFL-1434</id></x></message> 

今私は、XMLがcomposing要素またはnot.Andを持つかどうか、私は任意のXMLデリゲートを使用していないことを確認する必要があります。 XML

NSXMLElement *events = [message elementForName:@"x"]; 
    NSString *eventString=[[message elementForName:@"x"] stringValue]; 
    if (![eventString isEqualToString:@""]) { 
     NSString *composingString=[[events elementForName:@"composing"] stringValue]; 
     if ([composingString isEqualToString:@""]||[composingString isEqualToString:@"nil"]) {} 

ためのデリゲートメソッドを使用して持つあらゆる可能性がある。しかし、私はあなたが文字列操作でそれを単に行うことができます

+0

しかし、どのようにそのタグを確認するには、文字列を「構成」に等しい私はすべてのXML – Bittoo

+0

に異なる名前を持ってはい、正確に私は 'NSXMLElementを変換する方法文字列 – Bittoo

+0

をチェックする必要があり、すべてのXML responceごとに異なる文字列を持っています'を' NSString'に変換します。 – Bittoo

答えて

0

に価値をそのXMLタグをいないか確認する必要があります。これを確認してください。

NSRange rangeValue = [xmlString rangeOfString:@"<composing>" OR @"<composing/>" OR options:NSCaseInsensitiveSearch]; 

if (rangeValue.length > 0){ 

NSLog(@"Tag is present"); 

} 

else { 

NSLog(@"Tag is not present"); 

} 
+0

NSXMLElement * events = [メッセージ要素の名前:@ "x"]; NSString * xmlString =(NSString *)イベント; NSRange rangeValue = [xmlString rangeOfString:@ ""オプション:NSCaseInsensitiveSearch]; if(rangeValue.length> 0){ NSLog(@ "作成タグがあります"); } ' – Bittoo

+0

私は上記のコードを使用すると認識されないようなエラーが発生しています – Bittoo

+0

ありがとうございました。正常に動作してくれてありがとうございました。しかし、XML要素をチェックする他の方法があります。 – Bittoo

関連する問題