为什么NSXMLDocument不能转义换行符(\ n)

时间:2019-02-28 16:31:25

标签: objective-c xml cocoa

我正在运行以下代码:

NSXMLElement *element = [NSXMLElement elementWithName:@"name" stringValue:@"value\n"];
NSXMLDocument *document = [[NSXMLDocument alloc] initWithRootElement:element];
NSLog(@"%@", document.XMLString);

我得到这个结果:

<name>value
</name>

但是我期望结果是:

<name>value&#xA;</name>

有人知道为什么NSXMLDocument不能逃脱\n吗?这是预期的行为吗?

我还尝试了XMLStringWithOptions:的不同选项,例如NSXMLNodePreserveWhitespace,但没有运气。

1 个答案:

答案 0 :(得分:2)

因为\n是有效的xml。如果您确实希望对值进行URL编码,则需要对其进行编码。

How do I URL encode a string