2011-07-07 9 views
2

私はfile.xmlを解析するためにNSXMLParseを使用している「O、A、A、A」のようなラテンcharacteresしたいと思います。それは作業を行いますが、私はこのfile.xml内のテキストを抽出する際、いくつかの単語がcuttedと私はそれは、符号化の問題であると仮定されています。例えばXMLファイルは - 私は

、私のfile.xmlの小さな一部:だから

<?xml version="1.0" encoding="UTF-8" ?> 
<book> 
<titulo>Síndrome de Tietê</titulo> 
<pagina numero="1"> 
<linha numero="1">A luz forte do sol lá fora fazia um grande contraste com o escuro do cômodo.</linha> 
<linha numero="2">Poucas pessoas. Móveis rústicos e panelas penduradas, com teias de aranha. Gente magra.</linha> 
</pagina> 
</book> 

、私が解析し、抽出 ''、内容は次のとおりです。 「AフォーラムのfaziaええとグランデcontrasteコムO escuro行いますコモド」

INSTEAD OF 『Luzの強みは何ソルラフォーラムのfaziaええとグランデcontrasteコムO escuro COMODO』

を行うには、私は理由を知りませんが、それは、フレーズワットを切るいます鶏は、ワード「A」を表示されます。

この理由から、私はXMLファイルから 'enconding'する必要があるのだろうかと思っています。これはすべてのタグで起こっています。

私のXMLファイル読み込みのための私のコード:機能上の呼び出し

-(id)loadXMLByURL:(NSString *)fileName:(NSString *)extName { 
    NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extName]; 
    NSData *xmlData = [NSData dataWithContentsOfFile:xmlFilePath]; 
    xmlParser = [[NSXMLParser alloc] initWithData:xmlData]; 
    xmlParser.delegate = self; 
    [xmlParser parse]; 
    return self; 
} 

xmlCon = [[XMLControl alloc] loadXMLByURL:@"geracao":@"xml"]; 

任意のアイデア?

答えて

0

最初にチェックするのは、XMLファイルの先頭に宣言されているエンコーディングが、ファイルが実際にエンコードされているものかどうかです。旧式のチェック方法は、16進ダンプまたは8進ダンプの出力を調べることです私のような文字が予想される2バイトシーケンスで表されていることを確認します。チェックする簡単な方法は、文字エンコーディングの概念を理解し、エディタ(ほぼすべてのプログラミングエディタ)でファイルを見て、それがファイルが入っている言っているエンコーディング見ている。それが宣言と一致しない場合、XMLパーサが誤って解釈されますファイル。

関連する問題