使用php将csv转换为xml以在Javascript中使用
我是一名脚本编写新手,正在尝试使用以下php代码(摘自另一篇已经回复的帖子:),将csv数据转换为xml(我将此文件命名为使用php将csv转换为xml以在Javascript中使用,javascript,php,xml,csv,Javascript,Php,Xml,Csv,我是一名脚本编写新手,正在尝试使用以下php代码(摘自另一篇已经回复的帖子:),将csv数据转换为xml(我将此文件命名为csv2xml.php)。我正试图使用DownloadURL函数将在php脚本中创建的输出的xml文件拉入javascript,以便我可以进一步解析数据,但我不确定是否可以在DownloadURL函数中使用php文件来解析它。有人能告诉我正确的方向吗关于?我必须在明天之前完成这项工作,所以任何帮助都将不胜感激。PHP代码是第一位的,后面是我所指的javascript部分 &l
csv2xml.php
)。我正试图使用DownloadURL
函数将在php
脚本中创建的输出的xml
文件拉入javascript,以便我可以进一步解析数据,但我不确定是否可以在DownloadURL
函数中使用php文件来解析它。有人能告诉我正确的方向吗关于?我必须在明天之前完成这项工作,所以任何帮助都将不胜感激。PHP代码是第一位的,后面是我所指的javascript部分
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);
ini_set('auto_detect_line_endings', true);
$inputFilename = 'input.csv';
$outputFilename = 'output.xml';
// Open csv to read
$inputFile = fopen($inputFilename, 'rt');
// Get the headers of the file
$headers = fgetcsv($inputFile);
// Create a new dom document with pretty formatting
$doc = new DomDocument();
$doc->formatOutput = true;
// Add a root node to the document
$root = $doc->createElement('rows');
$root = $doc->appendChild($root);
// Loop through each row creating a <row> node with the correct data
while (($row = fgetcsv($inputFile)) !== FALSE)
{
$container = $doc->createElement('row');
foreach ($headers as $i => $header)
{
$child = $doc->createElement($header);
$child = $container->appendChild($child);
$value = $doc->createTextNode($row[$i]);
$value = $child->appendChild($value);
}
$root->appendChild($container);
}
echo $doc->saveXML();
?>
在JS中解析CSV要比解析XML容易得多…aa要在JS中解析CSV,请检查这个写得很好的函数:我正在尝试解析动态CSV数据,例如:时间、纬度、经度、深度、mag、magType、nst、gap、dmin、rms、net、id、更新、位置、键入2014-10-28014:02:15.520Z、37.4790001、-118.7878342,6.06,2.78、ml、27,72,0.1156,0.04、nc、nc723343662014-10-28T14:19:07.954Z,“加利福尼亚猛犸湖东南24公里”,地震2014-10-28T13:55:02.950Z,37.4806671,-118.7876663,6.93,2.62,马里兰州21141,0.1505,0.05,北卡罗来纳州,NC723343462014-10-28T14:08:06.754Z,“加利福尼亚猛犸湖东南25公里”,地震,我只需要位置0-4和11-13的数据,我只需要位置0-4和11-13的数据&然后使用js w/google maps api进行映射
downloadUrl("csv2xml.php", function(data) {
var xmlDoc = xmlParse(data);
var records = xmlDoc.getElementsByTagName("row");
...(parsing code)