使用字符串创建NSXMLNode:
NSXMLNode *node1 = [NSXMLNode textWithStringValue:@"<"];
NSLog(@"node1=%@",node1);
NSXMLNode *node2 = [NSXMLNode textWithStringValue:@">"];
NSLog(@"node2=%@",node2);
产生以下输出:
node1=<
node2=>
"<"
),而“&gt;”性格不是?答案 0 :(得分:2)
引用XML Spec:
&符号(&amp;)和左尖括号(&lt;)不得以其文字形式出现,除非用作标记分隔符,或用于注释,处理指令或CDATA部分。 [...]右角括号(&gt;)可以使用字符串“&amp; gt;”来表示,并且为了兼容性,必须使用“&amp; gt;”进行转义或字符串“]]&gt;”中的字符引用,当该字符串未标记CDATA部分的结尾时。
简而言之,有些情况>不必转义,例如它出现在属性中。
没有
两者都是。
如果您要求字符串in canonical format,则两个字符都将被转义:
NSXMLNode *node3 = [NSXMLNode textWithStringValue:@">"];
NSLog(@"node3=%@",[node3 canonicalXMLStringPreservingComments:NO]);
输出:
node3=>