我正在尝试将XML文档转换为具有预定义类的List <>
我的xml数据集TestData.xml
<Objects>
<Object ID="1">
<ItemOne>"Hickory"</ItemOne>
<ItemTwo>"Dickory"</ItemTwo>
<ItemThree>"Dock"</ItemThree>
</Object>
<Object ID="2">
<ItemOne>"The"</ItemOne>
<ItemTwo>"Mouse"</ItemTwo>
<ItemThree>"Went"</ItemThree>
</Object>
</Objects>
Run Code Online (Sandbox Code Playgroud)
主程序
class Program
{
static void Main(string[] args)
{
XElement TestData = XElement.Load("TestData.xml");
List<Test> myTest = new List<Test>(from d in TestData.Descendants("Objects")
select new Test(
d.Element("ItemOne").Value.ToString(),
d.Element("ItemTwo").Value.ToString(),
d.Element("ItemThree").Value.ToString()));
myTest.ForEach(i => Console.WriteLine("{0} {1} {2}", i.itemOne, i.itemTwo, i.itemThree));
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将数据形成的类
class Test
{
public string itemOne { get; set; }
public string itemTwo { get; set; }
public string itemThree { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想出去
Hickory Dickory Dock
The Mouse went
Run Code Online (Sandbox Code Playgroud)
但我最终一无所获.看起来LINQ Query查找数据但从未将其分配给List<Test>myTest,该值在调试器中显示为null.我不确定我做错了什么.
我想将XML转换为List<Test>所以我可以随机重新排列对象.我只是使用int []数组并按"ID"排序,但我不知道数组的实际长度,并希望在运行中分配它,所以我被迫做了一个list<>.我愿意接受其他建议.
没有测试,我认为你应该写TestData.Descendants("Object")而不是TestData.Descendants("Objects").参数for Descendants必须与要选择的节点的名称匹配.
| 归档时间: |
|
| 查看次数: |
5108 次 |
| 最近记录: |