Modification des fichiers .plist - les guillemets simples sont-ils autorisés en tant que chaînes?

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

  •  05-07-2019
  •  | 
  •  

Question

En particulier, j'édite le fichier AutoCompletion.plist pour CSSEdit (si cela compte vraiment).

Ma question est la suivante: y a-t-il des personnages avec les éléments STRING à échapper? les espaces? citations?

EDIT: Soyons clairs: je n’utilise pas CSSEdit pour éditer le fichier; il fait plutôt partie du paquet CSSEdit. J'utilise TextMate pour modifier le fichier (bien que & "; Property List Editor.app &"; Soit une autre option) et qu'il soit au format XML. Voici un extrait du fichier 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...

J'aimerais ajouter des chaînes avec des espaces et des guillemets simples tels que:

<string>Georgia, Times, 'Times New Roman', serif</string>

Mais CSSEdit se casse quand je modifie le fichier en tant que tel

Était-ce utile?

La solution

Si vous modifiez un répertoire XML à l'aide d'un éditeur de texte, vous devez échapper des caractères, comme dans n'importe quel fichier XML. Les caractères de base à surveiller sont:

< (inférieur à), échappé sous forme de & amp; lt;

> (supérieur à), échappé sous forme de & amp; gt;

& amp; (esperluette), échappé en tant que & amp; amp;

'(apostraphe), échappé en tant que & amp; apos;

" (guillemet), échappé en tant que & amp; quot;

Donc, dans votre exemple, vous voudriez

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

Vous pouvez également utiliser un outil tel que l'éditeur de liste de propriétés d'Apple, inclus dans leur Xcode gratuit. outils de développement , ou un produit tiers tel que PlistEdit Pro , qui se chargeront tous deux de tous les personnages vous échappent.

Autres conseils

Vous pouvez utiliser plutil pour vérifier la syntaxe de vos plists. (Notez que cela ne va pas valider si l'application comprendra ce que vous avez fait à son plist ...)

Il existe 3 types de plists, et les règles d'échappement dépendent du type avec lequel vous travaillez. Les formulaires les plus courants sont les plists XML, qui exigent que certaines choses soient échappées. En général, vous pouvez utiliser des règles d'échappement XML dans les éléments de chaîne. Si vous travaillez avec d'anciens plists de style NextStep, je pense qu'il faut encore moins s'échapper, mais il faudrait que je vérifie les détails pour être certain des règles. Le troisième type est binaire, je suis persuadé que vous ne modifiez pas ceux avec CSSEdit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top