Я пишу функцию, которая загружает 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 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.
Может ли кто-нибудь указать мне в правильном направлении, пожалуйста?
Спасибо.