从以下 xml 中,必须获取名称 Regression 和 Smoke,并在输出中写入 Regression,Smoke。
<categories>
<category name="Regression" />
<category name="Smoke" />
</categories>
这是使用 linq to xml 的划痕:
XDocument doc = XDocument.Load(@"<path to your xml file>");
var names = doc.Elements("category").Select(e => (string)e.Attribute("name"));
var csv = string.Join(",", names);
如果您只想读取您的 xml 类别名称值并将它们写入以逗号作为分隔符的文本文件,您应该这样做:
///step1: read all the elements attribute value
XDocument doc = XDocument.Parse(xml);
var data = doc.Descendants("category")
.Select(s=>s.Attribute("name").Value)
.ToList();
///step2: write the read value to the file
using (StreamWriter writer = new StreamWriter("d://csv.txt", true))
{
writer.WriteLine(string.Join(",", data));
}
//or simply
//File.WriteAllText("d://csv.txt", string.Join(",", data));
如果您想创建一个带有适当标题和所有内容的标准 CSV 文件,您可以找到大量代码,其中大部分都在 SO 中,以执行此操作。看看这个