使用PHP更改XML的结构
我需要这个文本文件,并使用php导出一个xml文件。我有这个导出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
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();
?>