2012-03-15 15 views
1

iPhoneアプリケーション内のXMLデータを解析する際に問題が発生します。 XMLデータを解析するためにNSXMLParserクラスに渡すと、実際のデータが表示される部分は無視されます。後で、私はタグが '& lt'と表示されていることを観察しましたが、データが表示される直前のすべての要素名がSoapenvolopebodyなどのように表示されます。と '& gt';問題を引き起こしているシンボル。XMLデータのiPhone解析、タグが表示されない

これをNSXMLParserに解析する前に、これに代わる戦略が必要であることを願っています。私の質問は、iPhoneがXMLをそのようにしている理由です。私はPHPファイルから動的にXMLを生成しており、IEブラウザに読み込まれるとXMLとして出力されます。問題を解決するために私を助けてくれることを願っています。

更新

私はまだ解決策を探しています。 NSStringをNSDataに変換してNSXMLParserに渡すという考えは、解析を行うことができると思います。

NSString * str = @ "teststring";
NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
私が試している次の記事にこれが記載されています。 How do I convert an NSString value to NSData?

アップデート1

私はNSDataの形式でデータを取得します。 NSStringに変換し、置換コードを適用して、& ltと& gt stuffで終了しました。その後、私は再び置き換えられたNSStringをNSData形式に変換しました。しかし、まだXMLはNSXMLParserを使って正しく解析されていません。

+0

は、あなたは私のxmlファイルのデータを与えることができると私はuのにuは、XMLをRについてのXML解析作業コードを提供します – parag

答えて

2

この文字列関数を使用して未確認の文字を置き換えてください。以下のコードを参照してください。

NSString *theXML = [[[NSString alloc] initWithBytes: [webdata mutableBytes] length:[webdata length] encoding:NSUTF8StringEncoding]autorelease]; 

theXML = [theXML stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"]; 
theXML = [theXML stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"]; 
theXML = [theXML stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"]; 

NSLog(@"%@",theXML); 

おかげ