这是我的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<Tests>
<Test case="1">
<str>200000</str>
</Test>
<Test case="2">
<str>200thousand</str>
</Test>
<Test case="3">
<str>共20萬</str>
</Test>
<Test case="4">
<str>20萬</str>
</Test>
</Tests>
这是解析器的一部分,这是非常标准的,因为我在大多数教程中都找到了它:
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if(!currentElementValue)
currentElementValue = [[NSMutableString alloc] initWithString:string];
else
currentElementValue =
(NSMutableString *) [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
然后我使用这一行将每个 currentElementValue 解析为 testObj 的每个变量
[testObj setValue:currentElementValue forKey:elementName];
该代码成功地将 XML 解析为 testObj。但是,问题是在第 4 种情况下,“20”消失了。即一旦一个元素以数字开头,然后是汉字,数字就消失了。
此外,如果我使用:
[currentElementValue appendString:string];
代替:
currentElementValue =
(NSMutableString *) [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
元素可以显示所有字符,但以许多空格开头。
我想弄清楚为什么 numeric 会消失,并寻找解决方案来显示所有没有空格的字符。
提前感谢您提供的任何帮助!