使用PHP更改XML的结构

使用PHP更改XML的结构,php,xml,Php,Xml,我需要这个文本文件,并使用php导出一个xml文件。我有这个导出xml的当前代码,但我需要一个不同的格式 <?php date_default_timezone_set("MST"); //or whatever your default timezone is. header("Content-Type: text/xml"); $fp = fopen('http://gis.fcd.maricopa.gov/apps/forecastzone/wxlabels.txt', 'r'

我需要这个文本文件,并使用php导出一个xml文件。我有这个导出xml的当前代码,但我需要一个不同的格式

<?php

date_default_timezone_set("MST"); //or whatever your default timezone is.
header("Content-Type: text/xml"); 

$fp = fopen('http://gis.fcd.maricopa.gov/apps/forecastzone/wxlabels.txt', 'r');

$xml = new XMLWriter;
$xml->openURI('php://output');
$xml->startDocument(); 
$xml->setIndent(true); // makes output cleaner

$xml->startElement('messages'); 

while ($line = fgetcsv($fp)) {

   $xml->startElement('zones');
   $xml->writeElement('name', $line[0]);
   $xml->writeElement('times', $line[1]);
   $xml->endElement();
}

$xml->endElement();

?>
它导出到,如下所示:

<messages>
<zones>
<name>Gila Bend</name>
<times>2:00pm-5:00pm</times>
</zones>
</messages>
<messages>
<zones name="Gila Bend" times="2:00pm-5:00pm"</zones>
</messages>
我需要它看起来像这样:

<messages>
<zones>
<name>Gila Bend</name>
<times>2:00pm-5:00pm</times>
</zones>
</messages>
<messages>
<zones name="Gila Bend" times="2:00pm-5:00pm"</zones>
</messages>

我需要在我的php文件中添加/编辑什么?

看看这里,我有,但是当我尝试添加startAttribute@RjDown时,输出中不断出现错误。您需要提供更多信息。显示您尝试了什么,以及错误是什么。下面是我收到的错误$xml->startElement'messages';而$line=fgetcsv$fp{$xml->startElement'zones';$xml->startAttribute'name';$xml->text$line[0];$xml->endAttribute;$xml->endElement;}$xml->endElement@rjdown
<?php

date_default_timezone_set("MST"); //or whatever your default timezone is.
header("Content-Type: text/xml"); 

$fp = fopen('http://gis.fcd.maricopa.gov/apps/forecastzone/wxlabels.txt', 'r');

$xml = new XMLWriter;
$xml->openURI('php://output');
$xml->startDocument(); 
$xml->setIndent(true); // makes output cleaner

$xml->startElement('messages'); 

while ($line = fgetcsv($fp)) {

   $xml->startElement('zones');
   $xml->writeAttribute('name', $line[0]);
   $xml->writeAttribute('times', $line[1]);
   $xml->endElement();
}

$xml->endElement();

?>