Objective c 为什么NSXMLDocument没有';t转义换行符(\n)
我正在运行以下代码:Objective c 为什么NSXMLDocument没有';t转义换行符(\n),objective-c,xml,cocoa,Objective C,Xml,Cocoa,我正在运行以下代码: NSXMLElement *element = [NSXMLElement elementWithName:@"name" stringValue:@"value\n"]; NSXMLDocument *document = [[NSXMLDocument alloc] initWithRootElement:element]; NSLog(@"%@", document.XMLString); 我得到了这个结果: <name>value </name&
NSXMLElement *element = [NSXMLElement elementWithName:@"name" stringValue:@"value\n"];
NSXMLDocument *document = [[NSXMLDocument alloc] initWithRootElement:element];
NSLog(@"%@", document.XMLString);
我得到了这个结果:
<name>value
</name>
值
但我希望结果是:
<name>value
</name>
value
;
有人知道为什么NSXMLDocument
没有逃逸\n
?这是一种预期的行为吗
我还尝试了使用不同选项的
XMLStringWithOptions:
,例如nsxmlnodepreservewithwhitespace
,但没有成功。因为\n
是有效的xml。如果您真的希望对值进行URL编码,则需要对它们进行编码
属性值如何?我相信属性值中的
\n
必须转义。非常确定属性值也是如此。似乎不是。根据文档,XML 1.0版必须转义