.plistファイルの編集-文字列として単一引用符を使用できますか?

StackOverflow https://stackoverflow.com/questions/256554

  •  05-07-2019
  •  | 
  •  

質問

特に、CSSEditのAutoCompletion.plistファイルを編集しています(それが重要な場合)。

私の質問は、エスケープする必要のあるSTRING要素を持つ文字はありますか?スペース?引用符?

編集: 明確にするために、CSSEditを使用してファイルを編集しているのではなく、ファイルはCSSEditパッケージの一部です。 TextMateを使用してファイルを編集していますが(<!> quot; Property List Editor.app <!> quot;は別のオプションです)、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; amp;

としてエスケープ

'(アポストラフィ)、<!> amp; apos;としてエスケープされた

<!> quot; (引用符)、<!> amp; quot;

としてエスケープ

だからあなたの例では、あなたがしたいです

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

無料の Xcodeに含まれているAppleのProperty List Editorなどのツールも使用できます。開発者ツール、または PlistEdit Pro などのサードパーティ製品。どちらも処理します。すべてのキャラクターがあなたのために逃げます。

他のヒント

plutilを使用して、リストの構文を確認できます。 (これは、plistに対して行ったことをアプリケーションが理解するかどうかを検証しないことに注意してください...)

リストには3つのタイプがあり、エスケープルールは作業しているタイプによって異なります。最も一般的な形式はXMLのリストであり、特定の内容をエスケープする必要があります。一般に、文字列要素内でXMLエスケープルールを使用できます。古いNextStepスタイルのプリストを使用している場合は、エスケープする必要ははるかに少ないと思いますが、ルールを確認するために詳細を調べる必要があります。 3番目のタイプはバイナリです。CSSEditでこれらを編集していないと確信しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top