データベースにさまざまな変更を加えたWebサービスがあります。次のように、SQLタグを使用してWebサービスの戻り行を使用すると、次のようになります。
<sql>
DELETE FROM TABLE WHERE ...
</sql>
<sql>
INSERT INTO TABLE WHERE ...
</sql>
<sql>
UPDATE TABLE SET ... WHERE ...
</sql>
このコードを次のようにNSMutableArrayに保存します。
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"sql"]){
[maResultado addObject:[NSMutableString stringWithFormat:@"%@", ResultadoSoap]];
[ResultadoSoap setString:@""];
}
}
これは良いことですが、Webサービスがアクセント付きの単語を返す場合(スペイン語であるためアクセント)、アプリはアクセントの後のフレーズのみを取得します。例:Webサービスはこれを返します:
<sql>
INSERT INTO DATOS(datos, fecha) VALUES('Indagar si el médico a tenido oportunidad de ...', '20/02/2013')
</sql>
私はこれをします:
if ([elementName isEqualToString:@"sql"]){
[maResultado addObject:[NSMutableString stringWithFormat:@"%@", ResultadoSoap]];
[ResultadoSoap setString:@""];
}
そして、objectatindexのmaResultadoにはこれしかありません:
édico a tenido oportunidad de ...', '20/02/2013')