using System.Collections.Generic;
public static void Main()
var source = new List<string>();
source.Add("fid|sid|pd|pt");
var headerElements = from str in source
let fields = str.Split('|')
select new XElement("Header",
new XElement("FileId", fields[1]),
new XElement("SenderId", fields[2]),
new XElement("ProcessingDate", DateTime.Now.ToString("yyyyMMdd")),
new XElement("ProcessingTime", DateTime.Now.ToString("HHmm"))
Console.WriteLine(JsonConvert.SerializeObject(headerElements));
var headerElement = headerElements.FirstOrDefault();
Console.WriteLine(JsonConvert.SerializeObject(headerElement));