Изменить содержимое файла XML с помощью скрипта Perl - PullRequest
1 голос
/ 29 ноября 2010

Этот поток является продолжением скрипта Perl для заполнения файла XML .

Файл, который я хочу изменить:

<?xml version="1.0" encoding="UTF-8"?>
  <configuration start="earth">
    <country-list>
      <country name="japan">
        <description></description>
        <start>1900</start>
        <end/>
      </country>
      <country name="italy">
        <description></description>
        <start>1950</start>
        <end/>
      </country>
      <country name="korea">
        <description></description>
        <start>1800</start>
        <end/>
      </country>
    </country-list>
  </configuration>

Я хочу добавить новую страну в этот список.

В предыдущем вопросе скрипт Perl для заполнения файла XML .

#Get the list of cities as a list, then push "Tokyo" to it.
push @{$doc->{countries}->{country}->{'japan-'}->{city}}, 'Tokyo';

Было предложено добавить новый тег, но в моем случае не уверен, как именно я могу использовать «push». Я не могу сопоставить правильный тег.

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Я считаю XML :: DOM намного проще в использовании.Это может быть немного многословно, но вы можете легко понять, что он делает.

0 голосов
/ 29 ноября 2010

Вы не можете использовать толчок.Нажмите для добавления элемента в массив (список).Судя по команде push, которую кто-то давал вам ранее, страны представлены в виде хэша, а не списка, поэтому вам нужно что-то вроде

$ doc -> {страны) -> {страна} -> {Трансильвания} = {};

Это создает пустой хеш для «Трансильвании».Ваша система может потребовать, чтобы там была какая-то структура.

...