我们说我有一个Person类:
public class Person
{
public string Name { get; set; }
}
如何解析包含
的XML文件<person>
<name>a</name>
</person>
<person>
<name>b</name>
</person>
成两个Person
的数组?
这是此问题的变体:Specific parsing XML into an array
唯一的区别是整个XML没有<people></people>
。 <person>
立即开始。
答案 0 :(得分:1)
试试这个
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string xml =
"<person>" +
"<name>a</name>" +
"</person>" +
"<person>" +
"<name>b</name>" +
"</person>";
xml = "<Root>" + xml + "</Root>";
XDocument doc = XDocument.Parse(xml);
List<Person> people = doc.Descendants("person").Select(x => new Person() {
Name = (string)x.Element("name")
}).ToList();
}
}
public class Person
{
public string Name { get; set; }
}
}