com解析XML的问题-Iphone

com解析XML的问题-Iphone,iphone,xml,parsing,Iphone,Xml,Parsing,英文翻译,非作品。原文如下 先生 我正在连接到web服务器,并获取具有以下格式的XML文件: <?xml version="1.0" encoding="ISO-8859-1"?> <programacao> <agenda> <data>17/02</data> <cidade>Barueri</cidade> <estado>SP</estado> </agenda> &l

英文翻译,非作品。原文如下

先生

我正在连接到web服务器,并获取具有以下格式的XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<programacao>
<agenda>
<data>17/02</data>
<cidade>Barueri</cidade>
<estado>SP</estado>
</agenda>
<agenda>
<data>19/02</data>
<cidade>Maringá</cidade>
<estado>PR</estado>
</agenda>
<agenda>
<data>17/03</data>
<cidade>Cubatão</cidade>
<estado>SP</estado>
</agenda>
</programacao>
。。。带有重音的单词会被截断。 我在原木上发现了几条断线。。。就像单词
Cubatão
在一行显示为
Cubat
,在下一行显示为
o
,或者
Maringá
在一行显示为
Maring
,在下一行显示为

我尝试了很多不同的东西,但当我把它们放在桌上时,我得到的只是切碎的东西。我能做些什么来解决这个问题


原创的

参议员

这是一个很好的网站,一个很好的网站 XML无分段格式:

<?xml version="1.0" encoding="ISO-8859-1"?>
<programacao>
<agenda>
<data>17/02</data>
<cidade>Barueri</cidade>
<estado>SP</estado>
</agenda>
<agenda>
<data>19/02</data>
<cidade>Maringá</cidade>
<estado>PR</estado>
</agenda>
<agenda>
<data>17/03</data>
<cidade>Cubatão</cidade>
<estado>SP</estado>
</agenda>
</programacao>
就像阿森图阿达斯宫殿一样。。维乔·奎布拉达斯·埃姆·瓦利亚斯 林没有日志。。。tipo Cubat na outra linhaão。。。马林纳奥特拉 林哈阿

Játentei vários recursos,mas quando jogo na表视图为palavras 阿森图阿达斯·索菲卡姆·奥斯佩达·奥斯。O是否有可能发生冲突
问题?

我不会说葡萄牙语,但我会说西班牙语,所以我想我理解你的一些问题

您最好使用包装器库来解析名为XML的XML

如果需要更多信息,请留下评论。

-(void)parser:(NSXMLParser*)parser foundCharacters:(NSMutableString*)string
中,您正在将
currentNodeContent
设置为
string
。 我相信您希望将
字符串
附加到
currentNodeContent
而不是替换它


葡萄牙语翻译


没有método
-(void)解析器:(NSXMLParser*)解析器找到字符:(NSMutableString*)字符串
vocêestásetando
currentNodeContent
para o que vem na
string
,mas fazendo isso vocêperde o que jáestava láantes。这是一个很好的例子,它是一个非常好的例子。Vocêdeveria fazer um append do
currentNodeContent
com a
string
ao invés de substituir o que játinha antes.

我几乎不懂葡萄牙语,但你应该尽量不要使用带有重音符号的单词。这是一个糟糕的编程实践。我喜欢独特的音乐。我们是一个国际社会,请使用英语。@Chuck Birkin重音词不在代码中,而是在XML中包含的数据中。他在解析数据并将其存储在字符串中时遇到问题。@filipe-您是我们社区的资产,感谢您花时间翻译此内容。@Tim Post aw拜托,您让我脸红了…:)谢谢你的帮助:)不要犹豫,给你的帖子添加翻译。@Tim post哦,是的,我没想到。谢谢你的帮助,我会一直用英语发布。我将尝试添加字符串。。这个解决方案真的有效吗?我认为您的问题更多地与如何将XML文件(NSData?)编码为NSString有关。尝试使用NSUTF8StringEncoding使用
initWithData:encoding
,看看是否有帮助。我遇到了同样的问题,但尚未找到解决方案。Rog似乎是最接近答案的(这是一个编码问题),但我仍然没有解决它。有人有明确的答案吗?
<?xml version="1.0" encoding="ISO-8859-1"?>
<programacao>
<agenda>
<data>17/02</data>
<cidade>Barueri</cidade>
<estado>SP</estado>
</agenda>
<agenda>
<data>19/02</data>
<cidade>Maringá</cidade>
<estado>PR</estado>
</agenda>
<agenda>
<data>17/03</data>
<cidade>Cubatão</cidade>
<estado>SP</estado>
</agenda>
</programacao>
-(id)loadXMLByURL:(NSString *)urlString
{
       minhaAgenda             = [[NSMutableArray alloc] init];
       NSURL *url              = [NSURL URLWithString:urlString];
       parser                  = [[NSXMLParser alloc] initWithContentsOfURL:url];
       parser.delegate = self;
       [parser parse];
       return self;
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSMutableString
*)elementName
 namespaceURI:(NSMutableString *)namespaceURI qualifiedName:
(NSMutableString *)qName attributes:(NSDictionary *)attributeDict
{
       if ([elementName isEqualToString:@"agenda"])
       {
               currentEvento = [Agenda alloc];
               currentNodeContent = [[NSMutableArray alloc] init];


       }
}

-(void)parser:(NSXMLParser *)parser didEndElement:(NSMutableString
*)elementName namespaceURI:(NSMutableString *)namespaceURI
qualifiedName:(NSMutableString *)qName
{
       if ([elementName isEqualToString:@"agenda"])
       {
               [minhaAgenda addObject:currentEvento];
               [currentEvento release];
               currentEvento = nil;
               [currentNodeContent release];
               currentNodeContent = nil;

       }

   if ([elementName isEqualToString:@"cidade"])
   {
           currentEvento.cidade = currentNodeContent;
   }

   if ([elementName isEqualToString:@"estado"])
   {
           currentEvento.estado = currentNodeContent;
   }

   if ([elementName isEqualToString:@"data"])
   {
           currentEvento.data = currentNodeContent;
       }



}

    -(void)parser:(NSXMLParser *)parser foundCharacters:(NSMutableString
    *)string
    {

       currentNodeContent = [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];

       NSLog(@"%@", currentNodeContent);

}