我有一个以下格式的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<root>
<EntityType_Data>
<EntityType>
<ID>1</ID>
<Caption>Entity1</Caption>
<Description>Entity1</Description>
<ModuleID>3</ModuleID>
<Category>1</Category>
</EntityType>
<EntityType>
<ID>2</ID>
<Caption>Entity2</Caption>
<Description>Entity2</Description>
<ModuleID>3</ModuleID>
<Category>1</Category>
</EntityType>
<EntityType>
<ID>3</ID>
<Caption>Entity4</Caption>
<Description>Entity4</Description>
<ModuleID>3</ModuleID>
<Category>1</Category>
</EntityType>
<EntityType>
<ID>4</ID>
<Caption>Entity5</Caption>
<Description>Entity5</Description>
<ModuleID>3</ModuleID>
<Category>1</Category>
</EntityType>
</EntityType_Data>
<AttributeType_Table>
<AttributeType>
<ID>1</ID>
<Caption>AttributeType1</Caption>
<DataType>string</DataType>
<SqlType>nvarchar(max)</SqlType>
</AttributeType>
<AttributeType>
<ID>1</ID>
<Caption>AttributeType2</Caption>
<DataType>integer</DataType>
<SqlType>int</SqlType>
</AttributeType>
</AttributeType_Table>
<Attributes_Table>
<Attribute>
<ID>1</ID>
<Caption>SingleLineTextbox</Caption>
<AttributeTypeID>1</AttributeTypeID>
</Attribute>
<Attribute>
<ID>2</ID>
<Caption>MultiLineTextBox</Caption>
</Attribute>
<Attribute>
<ID>3</ID>
<Caption>OrgLevel</Caption>
<AttributeTypeID>3</AttributeTypeID>
</Attribute>
</Attributes_Table>
<EntityRelationtable>
<EntityTypeAttributeRelation>
<EntityTypeID>2</EntityTypeID>
<AttributeID>1</AttributeID>
</EntityTypeAttributeRelation>
<EntityTypeAttributeRelation>
<EntityTypeID>3</EntityTypeID>
<AttributeID>2</AttributeID>
</EntityTypeAttributeRelation>
<EntityTypeAttributeRelation>
<EntityTypeID>3</EntityTypeID>
<AttributeID>1</AttributeID>
</EntityTypeAttributeRelation>
<EntityTypeAttributeRelation>
<EntityTypeID>3</EntityTypeID>
<AttributeID>3</AttributeID>
</EntityTypeAttributeRelation>
<EntityTypeAttributeRelation>
<EntityTypeID>2</EntityTypeID>
<AttributeID>2</AttributeID>
</EntityTypeAttributeRelation>
</EntityRelationtable>
</root>
现在我想从“EntityRelationtable”元素中获取数据过滤器“EntityTypeID”和“AttributeID” ,使用基于“AttributeID”之后的条件需要从“AttributeType_Table”元素中获取“Caption”、“Datatype”并且需要获取“描述”来自“EntityType_Data”元素。
我必须使用 Linq lambda 表达式来完成上述要求。请仅通过带有 lambda 的 linq 解决。
到目前为止,我试图从“EntityRelationtable”元素中获取“EntityTypeID”和“AttributeID” 。
var attributeresult = workingXmldoc
.Descendants("EntitytypeAttributeRelation_Table")
.Elements("EntityTypeAttributeRelation")
.Where(x => x.Element("EntityTypeID").Value == "" + entitytypeId + "")
.Select(v => new { EntitytypeID = v.Element("EntityTypeID").Value, AttributeID = v.Element("AttributeID").Value });
我正在考虑将这个结果与"AttributeType_Table"元素"AttributeID"结合起来。