javascript - 使用 CSV 数据构建 XML
问题描述
我正在尝试构建一种在本地“上传”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 数据 "SomeName,40.987654,-70.123456" 转换为...
<Entry>
<name>SomeName</name>
<Location>
<coordinates>-70.123456,40.987654</coordinates>
</Location>
</Entry>
我希望这很清楚;如果没有,请告诉我,我会尽量详细说明!
解决方案
您可以使用以下示例作为指南。这需要 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);
推荐阅读
- javascript - 无法获取 req.userData.role 的值
- python - Gimp 程序中的 OpenCV Python 脚本 - 草/硬表面边缘检测
- java - 我需要 java(eclipse) 中的椭圆 ROI 而不是二次 ROI
- java - 创建包含另一个集合的内容加上一个元素的新集合的最快方法是什么
- javascript - 在 ng-repeat 中引用 html 输入
- r - 将数值向量转换为字符向量
- git - 无法让 git 忽略 VS 中的 App_Data mdf 文件
- sql - 更新依赖于同一个表中的其他两个列的列
- javascript - PWA 上的会话长度跟踪
- ios - 调试触摸:未调用 UIWindow sendEvent