Martin 给了你一个例子,说明你可以做些什么来记录字符。或者您可以将其存储在 a 中NSData
并以十六进制查看:
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", data);
或者,如果您只想查看 XML 十六进制的控制字符,但保持可打印字符不变,您可以使用CFStringTransform
:
NSMutableString *mutableString = [string mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)mutableString, NULL, kCFStringTransformToXMLHex, NO);
但是在回答解析器遇到什么时存储什么的问题时<tag></tag>
,这完全取决于您如何实现它(如果您有问题,请告诉我们您做了什么)。但是我们大多数人都会在in 中添加字符串,alloc
然后将其存储在我们的模型中。在那种情况下,该空标签将产生一个长度为零的可变字符串(例如,除了可变字符串)。你怎么断定它不是?如果您检查了,那应该可以正常工作。init
NSMutableString
didStartElement
foundCharacters
didEndElement
@""
@""
[string isEqualToString:@""]
顺便说一句,如果您想从结果中删除额外的空白,您可以在 indidEndElement
中执行以下操作:
self.modelObject.someStringProperty = [self.parsedString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
这样,如果有任何额外的空格或换行符,它们就会被删除。