编辑.plist文件 - 是否允许作为字符串使用单引号?

时间:2008-11-02 05:26:36

标签: xml macos plist cssedit

特别是,我正在为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变得混乱

3 个答案:

答案 0 :(得分:16)

如果您正在使用某种文本编辑器编辑XML plist,则需要像在任何XML中一样转义字符。要注意的基本字符是:

&LT; (小于),转义为&amp; lt;

&GT; (大于),转义为&amp; gt;

&安培; (&符号),作为&amp; amp;

逃脱

'(tratraphe),作为&amp;

逃脱

“(引号),转义为&amp; quot;

所以在你的例子中,你想要

<string>Georgia, Times, &apos;Times New Roman&apos;, 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编辑那些。