Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么NSXMLDocument没有';t转义换行符(\n)_Objective C_Xml_Cocoa - Fatal编程技术网

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&#xA;</name>
value
;
有人知道为什么
NSXMLDocument
没有逃逸
\n
?这是一种预期的行为吗


我还尝试了使用不同选项的
XMLStringWithOptions:
,例如
nsxmlnodepreservewithwhitespace
,但没有成功。

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


属性值如何?我相信属性值中的
\n
必须转义。非常确定属性值也是如此。似乎不是。根据文档,XML 1.0版必须转义