1

次のような.plistファイルがあります。

<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>

モットーやニックネームなどの情報をplistに追加したいと思います。それらはこの形式です:

<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>

情報を追加するために、検索と置換を行うことを検討しています。ニックネームを読み取ってplistに追加するperlスクリプトを作成することもできます。

しかし、値を繰り返し処理して正しい場所に挿入できるテキスト処理プログラムはありますか?テキストプロセッサ/エディタを検索していますが、探しているものが見つかりません。

4

2 に答える 2

1

これはXSLTの仕事のように見えます:MacまたはLinux上のxsltproc。(またはXSLT 2.0をサポートするSAXON)

[2番目のファイルのニックネームが最初のファイルの値とどのように一致するかについては言及していません。それらは一致する順序になっていますか?]

于 2009-09-11T16:57:10.747 に答える
0

まず、名前と値のペアを関連するエンティティのように扱うplist 1.1を作成することをお勧めします。たとえば、次のようになります。

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

また

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

あなたが持っている方法でそれらを分離することはあなたがしたい将来の処理をより難しくするだろうと私には思えます。

挿入のたびにプロンプ​​トが表示される場合を除いて、関連付けを正しい状態にするには、ニックネームの近くにメタ情報がさらに必要です。のようなニックネームを作る

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

あらゆる言語の適切な場所にデータを簡単に挿入するために必要なすべてが提供されます。

于 2009-09-11T15:47:57.680 に答える