簡體   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