当符号"&"存在时,字符串被部分解析

moy*_*teg 1 xml parsing objective-c

如果我的XML解析器通过它时会有一个像"Fuel&Additives"这样的字符串,它会忽略" & "符号之前的任何内容,为什么?

    if ([elementname isEqualToString:@"GLDesc"]) 
{
   currentParsedObjectContainer.GLDesc = currentNodeContent;
       NSLog(@"%@",currentParsedObjectContainer.GLDesc);
}
Run Code Online (Sandbox Code Playgroud)

csa*_*ano 7

只有当用作标记分隔符或在注释,处理指令或CDATA部分中时,&符号(&)和左尖括号(<)才可以以其文字形式出现.如果在其他地方需要它们,则必须使用数字字符引用或字符串"&"和"<"分别进行转义.

http://www.w3.org/TR/2000/REC-xml-20001006#syntax

如上面的代码片段所示,在将字符串&amp;传递给XML解析器之前,您需要转义&字符串.