Question

J'ai un fichier .plist qui ressemble à ceci:

<plist version="1.0">
<array>
<dict>
    <key>name</key>
    <string>Alabama</string>
    <key>abreviation</key>
    <string>AL</string>
    <key>date</key>
    <string>1819</string>
    <key>population</key>
    <string>4,627,851</string>
    <key>capital</key>
    <string>Montgomery</string>
    <key>largestCity</key>
    <string>Birmingham</string>
</dict>
....
</array>
</plist>

Je souhaite ajouter d'autres informations à la pliste, telles que la devise et le pseudo. Ils sont dans ce format:

<nickname>Yellowhammer State</nickname>
<nickname>The Last Frontier</nickname>
<nickname>The Grand Canyon State</nickname>
<nickname>The Natural State</nickname>
<nickname>The Golden State</nickname>
<nickname>The Centennial State</nickname>
<nickname>The Constitution State</nickname>
<nickname>The First State</nickname>
<nickname>The Sunshine State</nickname>

J'envisage de faire des recherches et de remplacer pour ajouter plus d'informations. Je pourrais aussi écrire un script Perl pour lire les pseudonymes et les ajouter au plist.

Mais existe-t-il un programme de traitement de texte qui me permettrait de parcourir les valeurs et de les insérer au bon endroit? J'ai effectué des recherches dans des processeurs de texte / éditeurs et je ne trouve pas ce que je recherche.

Était-ce utile?

La solution

Cela ressemble à un travail pour XSLT: xsltproc sur Mac ou Linux. (ou SAXON, qui prend en charge XSLT 2.0)

[Vous ne mentionnez pas comment les surnoms du second fichier correspondent aux valeurs dans le premier fichier: sont-ils dans la séquence correspondante? ]

Autres conseils

Tout d'abord, je recommanderais de créer Plist 1.1 qui traite vos paires nom-valeur comme les entités associées qu'elles sont, par exemple:

<key name="capital" value="Montgomery" />

ou

<key>capital <value>Montgomery</value></key>

Il me semble que leur séparation rendrait tout traitement futur plus difficile à effectuer.

Vous avez besoin de plus de méta-informations à proximité du surnom pour que l'association apparaisse correctement, à moins que vous ne souhaitiez recevoir une invite pour chaque insertion. faire les surnoms comme

<nickname state="AL">Yellowhammer State</nickname>

vous donnerait tout ce dont vous avez besoin pour insérer facilement vos données au bon endroit dans n'importe quelle langue.

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