我正试图建立一种方式来上传"本地的csv文件,并根据csv中的数据构建一个xml文件。我需要做所有这些客户端,而且我还不太熟悉JS。我已经弄明白了如何提取csv数据...
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script>
d3.select("body").append("input").attr("type", "file").attr("accept", ".csv").on("change", function() {
var csv = d3.event.target.files[0];
if (csv) {
var reader = new FileReader();
reader.onloadend = function(event) {
var Url = event.target.result;
d3.csv(Url, function(data) {
return {
name: data.name,
latitude: data.latitude,
longitude: data.longitude
};
}, function(rows) {
console.log(rows);
});
};
reader.readAsDataURL(csv);
}
})
</script>
</body>
</html>
...我希望迭代数据来构建xml。在哪里我想要一些指导或建议是我如何构建xml并将其下载为文件。 DOM是否适合这项工作?如果是这样,如何从abc.csv生成后下载abc.xml?我正在尝试转换cvs数据&#34; SomeName,40.987654,-70.123456&#34;到...
<Entry>
<name>SomeName</name>
<Location>
<coordinates>-70.123456,40.987654</coordinates>
</Location>
</Entry>
我希望这很清楚;如果没有,请告诉我,我会尝试更好地阐述!
答案 0 :(得分:1)
您可以使用以下示例作为指南。这需要NPM包xml-parser作为依赖。
var xmlDoc = [
{
type: 'element',
tagName: '?xml',
attributes: {
version: '1.0',
encoding: 'UTF-8'
},
childNodes: [],
innerXML: '>',
closing: false,
closingChar: '?'
},
{
type: 'element',
tagName: 'root',
attributes: {},
childNodes: [
{
type: 'text',
text: 'Root Element'
}
],
innerXML: 'Root Element',
closing: true,
closingChar: null
}
]
var xmlStr = xml.stringify(xmlDoc, 2); // 2 spaces
console.log(xmlStr);
&#13;