2017-08-08 21 views
1

以下のコードを使用してタグ名でコンテンツコントロールを取得しています。C#+タグ名+ open xmlですべて/複数のコントロールコントロールを取得

// Gets content control of the sub table by tag. 
var sdtSubTable = 
    mainPart.Document.Descendants<SdtElement>() 
    .Where(s => s.SdtProperties.GetFirstChild<Tag().Val.Value.Contains("tagname")); 

しかし、これは1つのコントロールのみを返しますが、同じ名前の複数のコンテンツコントロールがあり、LINQを使用してすべてを取得する必要があります。

LINQは時間を節約するため、それ以外の場合はすべてのコンテンツコントロールをループし、一致するものを見つける必要があります。

これに関する助力?

+2

LINQもすべてをループする必要があります。あなたが望んでいたことは、それが_readability_を保存するということです。それとは別に、あなたはXMLがどのように見えるかを分かち合う必要があります。なぜなら、これは複数のものを返すように見えるからです。 – krillgar

答えて

0

解決策が見つかりました。

List<SdtBlock> sdtSubTable = mainPart.Document.Body.Descendants<SdtBlock>().Where 
    (r => r.SdtProperties.GetFirstChild<Tag>().Val.Value.Contains("tagname")).ToList(); 
関連する問題