Проблема Perl XML Simple XMLOut и потеря новых строк - PullRequest
2 голосов
/ 14 мая 2011

У меня небольшая проблема.Я пишу сценарий, который собирает новости из Европейского парламента.Он извлекает содержимое из, например,

http://www.europarl.europa.eu/sides/getDoc.do?pubRef=-//EP//TEXT+IM-PRESS+20110401STO16789+0+DOC+XML+V0//BG

Я сохраняю содержимое со следующим кодом:

my $fh;
open($fh, ">","articles/".$article{"ref"}.".xml");
    XMLout($ref, OutputFile => $fh, XMLDecl=>"<?xml version='1.0' encoding='utf-8' ?>", KeyAttr=>["lang"]);
close($fh);

Это работает при первом запуске.Однако, когда я снова читаю файл через XMLin, он теряет свои новые строки и, в зависимости от написанного содержимого, некоторые символы также становятся дефектными.

Это пример сценария для этого:

use XML::Simple;

my $ref=XMLin("articles/20110401STO16789.xml");
open(my $fh, ">test.xml");
XMLout($ref, OutputFile => $fh, XMLDecl=>"<?xml version='1.0' encoding='utf-8' ?>", KeyAttr=>["lang"]);
close($fh);

Есть ли у вас какие-либо идеи, почему возникает эта проблема?

Я также загрузил сценарии, а также пример сценария и два XML-файла: http://www.stephan -muller.com / euronews.zip

Заранее благодарю за помощь!

1 Ответ

2 голосов
/ 14 мая 2011

Не помещайте содержимое в значения атрибутов. Поместите контент в контент элемента. Пробелы здесь значительны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...