我在目录中有数千个.xml文件。我不习惯使用xml并需要将它们转换为.csv文件。它可以是所有文件的一个csv文件,也可以是每个文件一个,我更喜欢后者。我也不知道VBA。如何使用bash脚本或使用某些开源程序执行此操作?我确实发现很多网站将一个xml文件转换为一个csv文件,但是我需要为每个文件执行此操作...我知道MATLAB所以MATLAB中的脚本会很棒
答案 0 :(得分:0)
我使用C#
为您提供了一个快速示例 public class YourObject
{
public string Name { get; set; }
public string Number { get; set; }
}
class Program
{
static void Main(string[] args)
{
string path = "your folder path";
string[] files = Directory.GetFiles(path, "*.xml", SearchOption.AllDirectories);
foreach (string file in files)
{
using (var fs = new FileStream(file, FileMode.Open))
{
var serializer = new XmlSerializer(typeof(YourObject[]));
var data = (YourObject[])serializer.Deserialize(fs);
var list = new List<string>();
foreach (var item in data)
{
var ss = new List<string>();
ss.Add(item.Name + ',' + item.Number);
list.Add(string.Join(System.Environment.NewLine, ss));
}
File.WriteAllLines("D:\\csvFile.csv", list);
}
}
}
}
您需要修改类&#34; YourObject&#34;表示您的XML文件结构。