我正在编写一个加载 XML 文档并将其转换为 CSV 的函数。由于我只需要 XML 文件中的一些值,因此我试图实现的目标是仅选择我感兴趣的节点。
这是我的代码:
XDocument csvDocument = XDocument.Load(tempOutput);
StringBuilder csvBuilder = new StringBuilder(1000);
foreach (XElement node in csvDocument.Descendants("Sample"))
{
foreach (XElement innerNode in node.Elements())
{
csvBuilder.AppendFormat("{0},", innerNode.Value);
}
csvBuilder.Remove(csvBuilder.Length -1, 1);
csvBuilder.AppendLine();
}
csvOut = csvBuilder.ToString();
但是,通过这种方式,我选择了“示例”节点内的所有子节点。
在 XML 中,“Sample”树是:
<Sample Type="Object" Class ="Sample">
<ID>1</ID>
<Name>10096</Name>
<Type>2</Type>
<Rep>0</Rep>
<Selected>True</Selected>
<Position>1</Position>
<Pattern>0</Pattern>
</Sample>
代码完美无缺,但我只需要选择“ID”和“Selected”并将它们的值写入 CSV 文件中。
有人能指出我正确的方向吗?
谢谢。