LINQ to XML在C#中创建对象

伊霍科

我正在阅读一个XML响应,该XML看起来像这样:

<?xml version=""1.0"" encoding=""UTF-8""?>
<Errors>
    <Error>Error Msg 1</Error>
    <Error>Error Msg 2</Error>
</Errors>

我有回应课:

public class Error
{
    public string ErrorMessage { get; set; }
}


public class OrderCreationResponse
{
    public Error[] Errors { get; set; }
    ...
}

我尝试OrderCreationResponse使用以下代码创建一个

var orderCreationResponse = xDocument.Root
    .Elements("Errors")
    .Select(x => new OrderCreationResponse
    {
        Errors = x.Elements("Error").Select(c => new Error
        {
            ErrorMessage = (string) c.Element("Error").Value
        }).ToArray()
    }).FirstOrDefault();

但是它总是返回null我究竟做错了什么?

查尔斯·玛格(Charles Mager)

xDocument.Root 您的Errors元素,因此它Errors下面没有元素。您还犯了一个类似的错误Error-当您在该元素下寻找更多元素时,您已经在该元素中。

更改为:

var orderCreationResponse = xDocument
    .Elements("Errors")
    .Select(x => new OrderCreationResponse
    {
        Errors = x.Elements("Error")
            .Select(c => new Error {ErrorMessage = c.Value})
            .ToArray()
    }).FirstOrDefault();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用LINQ用XML在C#中创建对象

来自分类Dev

在C#中使用LINQ创建XML

来自分类Dev

在C#中查询XML Linq

来自分类Dev

在C#中如何在LINQ to xml之后生成对象数组

来自分类Dev

在C#中如何在LINQ to xml之后生成对象数组

来自分类Dev

C#中的LINQ:LINQ中的Foreach

来自分类Dev

C#中的LINQ:LINQ中的Foreach

来自分类Dev

从linq C#中的对象列表中获取和

来自分类Dev

使用LINQ / C#在MongoDB集合中查找子对象

来自分类Dev

c#使用Linq更新列表中的对象

来自分类Dev

在Linq中创建和调用SqlFunction到实体C#?

来自分类Dev

使用Linq在C#中删除多个XML节点

来自分类Dev

在C#中优化Linq

来自分类Dev

学习Linq to XML并尝试从xml节点创建对象

来自分类Dev

C#对象列表过滤(Linq?)

来自分类Dev

使用Linq C#对多层XML排序

来自分类Dev

在C#中使用LINQ解析XML

来自分类Dev

C#使用Linq从xml提取数据

来自分类Dev

C#解析复杂的XML LINQ

来自分类Dev

简单的 C# Linq 到 Xml

来自分类Dev

使用LINQ和高度嵌套的XML创建类对象

来自分类Dev

Linq加入C#

来自分类Dev

LINQ C#除外

来自分类Dev

C# LINQ 行为

来自分类Dev

Linq重复创建空对象?

来自分类Dev

无法使用linq to xml c#从xml文档中删除根节点

来自分类Dev

我需要使用linq和C#中的xml代码保存XML文件

来自分类Dev

C# LINQ 在单次执行中从列表中删除多个对象

来自分类Dev

XML 元素通过 Linq to XML C# 进入新的后代?