如何将 .tsv 内容转换为 xml

我有一个tsv如下所示的文件


Time    Object  pmPdDrb pmPdcDlSrb

00:45   EUtranCellFDD=GNL02294_7A_1 2588007 1626

00:45   EUtranCellFDD=GNL02294_7B_1 18550   32

00:45   EUtranCellFDD=GNL02294_7C_1 26199   38

00:45   EUtranCellFDD=GNL02294_9A_1 3857243 751

是否可以像下面这样将其转换为 XML?


<xmlnode>

  <Time>00:45</Time>

  <Object>EUtranCellFDD=GNL02294_7A_1</Object>

  <pmPdDrb>2588007</pmPdDrb>

  <pmPdcDlSrb>1626</pmPdcDlSrb>

</xmlnode>

我试过下面的代码:


var reader = File.ReadAllLines(logFile);


var xml1 = new XElement("TopElement",


reader.Select(line => new XElement("Item",


    line.Split('\t').Select((column, index) =>


         new XElement("Column" + index,column)))

    )

);


qq_花开花谢_0
浏览 109回答 1
1回答

偶然的你

尝试以下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Xml.Linq;using System.IO;namespace ConsoleApplication110{&nbsp; &nbsp; class Program&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; const string INPUT_FILENAME = @"c:\temp\test.txt";&nbsp; &nbsp; &nbsp; &nbsp; const string OUTPUT_FILENAME = @"c:\temp\test.xml";&nbsp; &nbsp; &nbsp; &nbsp; static void Main(string[] args)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string header = "<xmlnodes></xmlnodes>";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; XDocument doc = XDocument.Parse(header);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; XElement xmlnodes = doc.Root;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; StreamReader reader = new StreamReader(INPUT_FILENAME);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string line = "";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string[] columnNames = null;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int lineCount = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while((line = reader.ReadLine()) != null)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; line = line.Trim();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (line.Length > 0)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string[] splitArray = line.Split(new char[] { '\t', ' '}, StringSplitOptions.RemoveEmptyEntries);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (++lineCount == 1)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; columnNames = splitArray;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; XElement newNode = new XElement("xmlnode");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlnodes.Add(newNode);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i < splitArray.Length; i++)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; XElement xColumn = new XElement(columnNames[i], splitArray[i]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newNode.Add(xColumn);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.Save(OUTPUT_FILENAME);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP