使用 Linq.Xml 发布解析 XML 文档
Issue Parsing XML Documnet with Linq.Xml
这不是关于 NullReferenceException 的问题。这是一个关于为什么显示的语句会抛出一个以及它有什么问题的问题。
我正在尝试使用 Linq.Xml 解析一个小的 XML 文档,并且在尝试从 Linq 查询创建对象列表时遇到空引用异常
_columnDefs = (from def in fileDef.Descendants("columndef")
select new ColumnDef ()
{
Name = def.Attribute("Name").Value,
Type = def.Attribute("Type").Value,
Required = bool.Parse(def.Attribute("Required").Value),
Default = def.Attribute("Default").Value
}).ToList<ColumnDef>();
此处的代码失败并出现 NullReferenceException,如此处所示
我无法确定问题是新的 ColumDef 对象还是其他原因。如果它是新的 ColumnDef 那么为什么 "new" 运算符不创建对象的实例?
_columnDefs 定义为 _columnDefs = new List<ColumnDef>();
您的调试器视图显示当前项目没有 Default
属性。如果属性不存在,您可以使用 default = (string)def.Attribute("Default")
将 属性 设置为 null
。
这不是关于 NullReferenceException 的问题。这是一个关于为什么显示的语句会抛出一个以及它有什么问题的问题。
我正在尝试使用 Linq.Xml 解析一个小的 XML 文档,并且在尝试从 Linq 查询创建对象列表时遇到空引用异常
_columnDefs = (from def in fileDef.Descendants("columndef")
select new ColumnDef ()
{
Name = def.Attribute("Name").Value,
Type = def.Attribute("Type").Value,
Required = bool.Parse(def.Attribute("Required").Value),
Default = def.Attribute("Default").Value
}).ToList<ColumnDef>();
此处的代码失败并出现 NullReferenceException,如此处所示
我无法确定问题是新的 ColumDef 对象还是其他原因。如果它是新的 ColumnDef 那么为什么 "new" 运算符不创建对象的实例?
_columnDefs 定义为 _columnDefs = new List<ColumnDef>();
您的调试器视图显示当前项目没有 Default
属性。如果属性不存在,您可以使用 default = (string)def.Attribute("Default")
将 属性 设置为 null
。