この形式の 3 つの要素を持つ xml ドキュメントがあります。
<Codes>
<Code>
<CodeScenario>3</CodeScenario>
<CodeScenario>4</CodeScenario>
<CodeScenario>6</CodeScenario>
<CodeScenario>7</CodeScenario>
<CodeCategory>Category3</CodeCategory>
<CodeID>043</CodeID>
<CodeDescription>Description3</CodeDescription>
<CodeType>PE</CodeType>
</Code>
<Code>
<CodeCategory>Category2</CodeCategory>
<CodeID>046</CodeID>
<CodeDescription>Description2</CodeDescription>
<CodeType>PE</CodeType>
</Code>
<Code>
<CodeScenario>2</CodeScenario>
<CodeCategory>Category1</CodeCategory>
<CodeID>100</CodeID>
<CodeDescription>Description1</CodeDescription>
<CodeType>PR</CodeType>
</Code>
</Codes>
linq クエリを使用して、コード要素が ID に基づくコードタイプを持っているかどうかを確認できるようにしたいと考えています。これが私がこれまでに思いついたものです。それは機能しますが、醜いので、可能であればドット表記を使用したいと思います。誰でも私を助けることができますか?
public bool HasCodeType(string CodeType, string Code)
{
var QueryResult = (from descendant in XMLdocument.Descendants("Code")
from type in descendant.Elements("CodeType")
where type != null &&
type.Value.Equals(CodeType)
select new { CID = descendant.Element("CodeID").Value }).Distinct();
foreach (var result in QueryResult)
{
if (Code == result.CID)
return true;
}
return false;
}