查询XML文件并创建文本文件

Gil*_*lla 2 .net c# linq file linq-to-xml

我有一个XML文件:TableList.xml

<TableList>  
<Table>  
<TableName>TableA</TableName>  
<Columns>ColumnA1,ColumnA2,ColumnA3,ColumnA4</Columns>  
</Table>  
<Table>  
<TableName>TableB</TableName>  
<Columns>ColumnB1,ColumnB2,ColumnB3,ColumnB4</Columns>  
</Table>  
</TableList>  
Run Code Online (Sandbox Code Playgroud)

我想使用Linq-to-XML查询此文件,并且我想要的每个值派生以下格式

The table - TableA - has columns - ColumnA1,ColumnA2,ColumnA3,ColumnA4.

The table - TableB - has columns - ColumnB1,ColumnB2,ColumnB3,ColumnB4.
Run Code Online (Sandbox Code Playgroud)

并将其创建为单个文本文件 - TableDoc.txt最后.

如何使用Linq-to XML简化圆顶?

Jon*_*eet 5

如何使用Linq-to XML简化圆顶?

我将此作为简洁的挑战......

File.WriteAllLines("TableDoc.txt", XDocument.Load("TableList.xml")
         .Descendants("Table")
         .Select(t => string.Format("The table - {0} - has columns {1}.",
                                    t.Element("TableName").Value,
                                    t.Element("Columns").Value)));
Run Code Online (Sandbox Code Playgroud)

(显然,删除所有不必要的空白真正的简洁.)

当然,这仍然让您无法确定其工作原理和原因 - 并且可能以更易读的方式重构它.