Pergunta

Eu tenho um arquivo .plist parecida com esta:

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

Eu quero adicionar mais informações ao plist como lema e apelido. Eles são neste formato:

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

Estou pensando em fazer alguma pesquisa e substituição para adicionar mais informações. Eu também poderia escrever um script Perl para ler os apelidos e adicioná-los para o plist.

Mas, há um programa de processamento de texto que permita-me a repetir os valores e inseri-las no local correto? Fui pesquisar através de texto processadores / editores e não consigo encontrar o que estou procurando.

Foi útil?

Solução

que se parece com um trabalho para XSLT: xsltproc no Mac ou Linux. (Ou SAXÃO, que suporta XSLT 2.0)

[Você não mencionar como os apelidos no 2º arquivo de igualar-se para valores na primeira file: eles estão em sequência de correspondência? ]

Outras dicas

Em primeiro lugar, eu recomendo criar plist 1.1 que trata os seus pares de valores de nome como as entidades relacionadas que são, por exemplo:

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

ou

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

Parece-me que tê-los separar a maneira que você tem que fazer qualquer futuro tratamento que você quer fazer mais.

Você precisa de mais informações meta perto do apelido para você fazer a associação para o estado correto a menos que você quiser ser solicitado para cada inserção. tornando os apelidos como

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

iria dar-lhe tudo que você precisa para inserir facilmente seus dados no local adequado em qualquer idioma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top