【发布时间】:2017-10-24 23:05:40
【问题描述】:
我正在尝试使用带有 lambda 语法的 LINQ 从 XML 片段加载对象列表,但在创建新对象时遇到了 lambda 语法问题。
这是保存数据的自定义类:
public class PhysicianInfoModel
{
string FirstName;
string LastName;
string Degree;
}
这是我试图从中加载对象集合的示例 XML:
<response>
<control>
<status>success</status>
<dtdversion>3.0</dtdversion>
</control>
<operation>
<authentication>
<status>success</status>
<userid>jsmith</userid>
</authentication>
<result>
<status>success</status>
<physicianlist>
<physician>
<lastname degree="MD">Smith</lastname>
<firstname>Paul</firstname>
</physician>
<physician>
<lastname degree="DO">Smith</lastname>
<firstname>Paul</firstname>
</physician>
</physicianlist>
</result>
</operation>
</response>
我曾尝试使用如下代码,但我知道这是不正确的,因为即使是 Visual Studio 中的智能感知也都是“红色波浪线”。在这个例子中,xml 是一个 XDocument 对象,它已经加载了上面列出的 XML。
List<PhysicianInfoModel> nodeList = xml.Descendants("physicianlist")
.Descendants("physician")
.Select(x => new PhysicianInfoModel()
{
FirstName = x.?????,
LastName = x.????,
Degree = x.Attribute("degree") // Not working
});
【问题讨论】:
标签: lambda linq-to-xml