【问题标题】:Editing .plist files - are single quotes allowed as strings?编辑 .plist 文件 - 是否允许将单引号用作字符串?
【发布时间】:2008-11-02 05:26:36
【问题描述】:

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

我的问题是,是否有任何带有 STRING 元素的字符需要转义?空间?引号?

编辑: 为了清楚起见,我没有使用 CSSEdit 来编辑文件——而是该文件是 CSSEdit 包的一部分。我正在使用 TextMate 来编辑文件(尽管“Property List Editor.app”是另一种选择)并且它是 XML 格式的。这是 AutoCompletion.plist 文件中的一个 sn-p:

<?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>Georgia, Times, 'Times New Roman', serif</string>

但是当我像这样编辑文件时,CSSEdit 变得混乱了

【问题讨论】:

    标签: xml macos plist cssedit


    【解决方案1】:

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

    >(大于),转义为 >

    &(和号),转义为 &

    '(撇号),转义为 '

    "(引号),转义为 "

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

    &lt;string&gt;Georgia, Times, &amp;apos;Times New Roman&amp;apos;, serif&lt;/string&gt;

    您还可以使用免费的Xcode developer tools 中包含的Apple 的Property List Editor 之类的工具,或PlistEdit Pro 之类的第三方产品,这两者都会为您处理所有字符转义。

    【讨论】:

    • 谢谢,布赖恩。这就是我一直在寻找的技术。
    【解决方案2】:

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

    【讨论】:

    • 我认为问题一定是CSSEdit要求plist不能有空格或引号。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 2010-09-21
      • 1970-01-01
      • 2023-03-13
      • 2011-09-06
      • 2011-04-29
      • 1970-01-01
      • 2017-09-15
      相关资源
      最近更新 更多