繁体   English   中英

使用NSXMLParser的XML属性中的特殊字符

[英]Special characters in XML attributes with NSXMLParser

我从第三方API获得以下内容:

<el attr="test.

another test." />

我使用NSXMLParser将文件读入我的应用程序。

但是,在委托中,属性被转换为test. another test. test. another test. 显然,我希望看到完整的换行符。

最初,我认为这是一个错误,但是根据XML Spec,它做对了:

通过将#x20附加到归一化值来处理空白字符(#x20,#xD,#xA,#x9)

见3.3.3节。

我有什么选择? 请注意,它是第三方API,因此即使错误,也无法更改。

NSData *xmlData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"url://"]];
NSMutableString *myXmlStr = [[NSMutableString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding];
NSRange range = [myXmlStr rangeOfString:@"\n"];
[myXmlStr replaceCharactersInRange:range withString:@"[:newline:]"];
NSData *newXmlData = [myXmlStr dataUsingEncoding:NSUTF8StringEncoding];

只要您喜欢[:newline:]换行符即可:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM