如何在c#中读取XML文件?

Hem*_*yal 5 c# xml linq linq-to-xml

我有以下XML文件,我想知道阅读此XML文件的最佳方法

<MyFile> 
  <Companies> 
    <Company>123</Company> 
    <Company>456</Company>
    <Company>789</Company> 
  </Companies> 
</MyFile>
Run Code Online (Sandbox Code Playgroud)

作为输出我需要收集像"123,456,789"这样的值,或者它可能是字符串[]的数组

我们可以将Linq用于xml吗?怎么样?

Dar*_*mas 11

var xdoc = XDocument.Load(PATH_TO_FILE);
var companies = xdoc.Descendants("Company").Select(c => (string)c).ToArray();
Run Code Online (Sandbox Code Playgroud)

这会给你一个string[].


Hab*_*bib 6

使用LINQ to XML,Include using System.Xml.Linq;

   XDocument xmlDoc = XDocument.Load("yourfile.xml");
   var test = xmlDoc.Descendants("Companies").Elements("Company").Select(r => r.Value).ToArray();
   string result = string.Join(",", test);
Run Code Online (Sandbox Code Playgroud)

输出将是:

123,456,789


spe*_*der 3

var xmlStr=@"<MyFile> 
  <Companies> 
    <Company>123</Company> 
    <Company>456</Company>
    <Company>789</Company> 
  </Companies> 
</MyFile>";

var xDoc = XDocument.Parse(xmlStr);
var companyIds = xDoc.Descendants("Company").Select(e => (int)e);
Run Code Online (Sandbox Code Playgroud)