gpt4 book ai didi

c# - 如何在 LINQ 查询期间将 XML 属性(字符串)解析为(int)

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:11 27 4
gpt4 key购买 nike

我有一个类:

public class Layout
{
public int Width { get; set; }
public int Height { get; set; }
}

如何在以下 LINQ 查询中读取 XML 属性并将其分配给上面类中的 int:

var layouts =
from elem in layoutSummary.Descendants("Layout")
select new Layout
{
// Width = elem.Attribute("Width").Value, // Invalid cast string to int)
// Int32.TryParse((string)elem.Attribute("Height").Value, Height) // Doesn't assign Height value to Layout.Height
};

最佳答案

试试这个:

var layouts =  from elem in layoutSummary.Descendants("Layout")
select new ComicLayout
{
Width = (int) elem.Attribute("Width"),
Height = (int) elem.Attribute("Height")
};

这使用了从 XAttributeint 的显式转换运算符,您可以找到其 MSDN 页面 here .

显然,如果转换不成功,这将抛出一个 FormatException。如果这不是您想要的,请说明您希望发生什么。 可以在此处使用int.TryParse(如果有点不方便),但必须采用不同的方式。

关于c# - 如何在 LINQ 查询期间将 XML 属性(字符串)解析为(int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702921/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com