Как создать новый XML-файл, используя Perl - PullRequest
0 голосов
/ 15 ноября 2011

Я создаю новый XML-файл, используя Perl-скрипт, но у меня небольшая проблема, я написал такой скрипт

 #!/usr/bin/perl
 use warnings; 
  use strict;
open my $file, '>>', 'data.xml' or die "Can't open file: $!";
 print $file (<<EOF);
<?xml version="1.0" encoding="UTF-8"?>
<Detailsofuniversitys xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Identification>
  <Ind>03.20.00</Ind>
</Identification>
<MetaData>
<History>
 <Entry>
  <Date>2010-10-19</Date>
<Note>IND Created</Note>
</Entry>
</History>
 <Status>P</Status>
 <StoringAndErasing>Not Defined</StoringAndErasing>
 <StoringAndErasing>Not Defined</StoringAndErasing>
 </MetaData>
 <university>
 <name>svu</name>
 <location>ravru</location>
<branch>
<electronics>
 <student name="xxx" number="12">
 <semester number="1"subjects="7" rank="2"/>
 </student>
 <student name="xxx" number="15">
 <semester number="1" subjects="7" rank="10"/>
 <semester number="2" subjects="4" rank="1"/>
  </student>
   <student name="xxx" number="16">
   <semester number="1"subjects="7" rank="2"/>
  <semester number="2"subjects="4" rank="2"/>
   </student>
</electronics>
  </branch>
</university>
<university>
  <name>sku</name>
    <location>ANTP</location>
<branch>
 <electronics>
   <student name="xxx" number="12">
 <semester number="3"subjects="6" rank="20"/>
 </student>
   <student name="xxx" number="16">
   <semester number="1"subjects="9" rank="12"/>
  <semester number="2"subjects="4" rank="2"/>
   </student>
    </section>
</electronics>
 </branch>
</university>
 EOF

Но после запуска этого скрипта он не выдает никаких ошибок, он генерирует XML-файл, когда я пытался открыть этот XML-файл

 The XML page cannot be displayed 
  Cannot view XML input using XSL style sheet. Please correct the error and then click   
  the Refresh button, or try again later. 


   The following tags were not closed: gpx, gpx, detailsofuniversitys. Error processing 
     resource 'file:///C:/files/star/data...

Я не знаю, в чем ошибка, как открыть. Есть ли какая-либо ошибка в скрипте Perl. В противном случае, как я могу сгенерировать новый XML-файл, используя Perl. (XML-данные выглядят так), есть ли какая-либо опция.

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Рассмотрите возможность использования модуля для написания XML, см. Как я могу создать XML из Perl? .

0 голосов
/ 15 ноября 2011

Я только что запустил ваш скрипт, он не работает как есть. Ваш скрипт пытается разобраться в XML, который вы даете ему в виде строкового литерала, потому что ваш оператор печати записывает "<<EOF" в файл. Изменяя

print $file (<<EOF);

до

print $file <<EOF

и линия EOF от

  EOF

до

EOF
;

вы получаете скрипт, который записывает XML в файл.

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