次の形式の 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>
ここで、 「AttributeID」に基づいて「キャプション」 、「 Datatype 」を「AttributeType_Table」要素から取得し、「「EntityType_Data」要素からの「説明」 。
私はLinqラムダ式を使用して上記の要件を実行する必要があります。ラムダを使用した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」で結合しようと考えています。