我正在使用NSXMLParse来解析我的file.xml。它确实有效,但是当我提取内部文本这个file.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>
所以,当我解析并提取''时,内容是: 'áforafazia um grande contraste com o escurodocômodo'
INSTEAD OF 'a luz forte dosolláforafazia um grande contraste com o escurodocômodo'
我不知道为什么,但是当出现这样的单词“á”时,它正在削减这句话。它发生在所有标签上,总是有像'á,ó,ô,é......这样的内容......
出于这个原因,我想知道是否与我的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 :(得分:0)
要检查的第一件事是在XML文件顶部声明的编码是否实际上是文件编码的内容。旧的检查方法是查看十六进制转储或八进制转储的输出和验证像í这样的字符由预期的双字节序列表示。更简单的检查方法是在编辑器中查看文件,该编辑器了解字符编码的概念(几乎任何编程编辑器),并查看文件所在的编码。如果它与声明不匹配,XML解析器将会误解文件。