特别是,我正在为CSSEdit编辑AutoCompletion.plist文件(如果这甚至很重要)。

我的问题是,是否有任何需要转义STRING元素的角色?空间?报价?

编辑: 为了清楚起见,我没有使用CSSEdit来编辑文件 - 而是文件是CSSEdit包的一部分。我正在使用TextMate编辑文件(尽管<!>“属性列表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变得混乱
有帮助吗?

解决方案

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

LT <!>; (小于),以<!> amp; lt;

转义

GT <!>; (大于),以<!> amp; gt;

转义 <!>

安培; (&符号),以<!> amp; amp;

逃脱

'(tratraphe),以<!> amp;';

逃脱 <!>

QUOT; (引号),转义为<!> amp; quot;

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

<string>Georgia, Times, &apos;Times New Roman&apos;, serif</string>

您还可以使用Apple的Property List Editor等工具,该工具包含在免费的 Xcode中开发人员工具,或 PlistEdit Pro 等第三方产品,两者都将负责所有为你逃脱的角色。

其他提示

您可以使用plutil检查plist的语法。 (请注意,这不会验证应用程序是否会理解您对其plist所做的操作...)

有三种类型的plists,转义规则取决于您正在使用的类型。最常见的形式是XML plists,它确实需要转义某些内容。通常,您可以在字符串元素中使用XML转义规则。如果您正在使用较旧的NextStep样式的plist,我相信更少需要转义,但我需要查找详细信息以确定规则是什么。第三种类型是二进制,我非常有信心你没有用CSSEdit编辑那些。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top