特别是,我正在为CSSEdit编辑AutoCompletion.plist文件(如果这甚至很重要)。
我的问题是,是否有任何需要转义STRING元素的角色?空间?报价?
编辑: 为了清楚起见,我没有使用CSSEdit来编辑文件 - 而是文件是CSSEdit包的一部分。我正在使用TextMate编辑文件(虽然“Property List Editor.app”是另一种选择),它是XML格式。以下是AutoCompletion.plist文件的片段:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>font-family</key>
<array>
<string>Arial</string>
<string>Helvetica</string>
<string>Georgia</string>
<string>serif</string>
<string>sans-serif</string>
<string>cursive</string>
etc...
我想添加空格和单引号的STRING,例如:
<string>Georgia, Times, 'Times New Roman', serif</string>
但是当我编辑文件
时,CSSEdit变得混乱答案 0 :(得分:16)
如果您正在使用某种文本编辑器编辑XML plist,则需要像在任何XML中一样转义字符。要注意的基本字符是:
&LT; (小于),转义为&amp; lt;
&GT; (大于),转义为&amp; gt;
&安培; (&符号),作为&amp; amp;
逃脱'(tratraphe),作为&amp;
逃脱“(引号),转义为&amp; quot;
所以在你的例子中,你想要
<string>Georgia, Times, 'Times New Roman', serif</string>
您还可以使用Apple的Property List Editor等免费Xcode developer tools附带的工具,或PlistEdit Pro等第三方产品,这两种产品都会照顾所有角色为你逃跑。
答案 1 :(得分:2)
您可以使用plutil
检查plist的语法。 (请注意,这不会验证应用程序是否会理解您对其plist所做的操作...)
答案 2 :(得分:0)
有三种类型的plists,转义规则取决于您正在使用的类型。最常见的形式是XML plists,它确实需要转义某些内容。通常,您可以在字符串元素中使用XML转义规则。如果您正在使用较旧的NextStep样式的plist,我相信更少需要转义,但我需要查找详细信息以确定规则是什么。第三种类型是二进制,我非常有信心你没有用CSSEdit编辑那些。