チェックボックスの選択に基づいて XDocument クエリを作成しようとしています。
必要な構文がわからないため、機能しない次のコードがあります。それが何を達成しようとしているのかは明らかだと思います。以前に SQL で Where ステートメントを作成した方法とほとんど同じです。最終的なコードには約 16 個のチェックボックスがあるため、複数の If ステートメントを使用します。
Private Sub NextWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextWord.Click
Dim WordDictionary As XDocument = XDocument.Load("Dictionary Resources\Dictionary.xml")
Dim CheckSelection As String
If NounCheckbox.Checked = True Then
CheckSelection = CheckSelection & "noun"
End If
If AdjectiveCheckbox.Checked = True Then
CheckSelection = CheckSelection & "adjective"
End If
Dim ToList = From x In WordDictionary.Root.Elements("Word") Where x.Elements("Type").Value = CheckSelection
For Each result In ToList
Console.WriteLine(result)
Next
End Sub
完全を期すために、XML ファイルの構造は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Word ID="1">
<Type>adjective</Type>
<English></English>
<Thai></Thai>
<Meaning></Meaning>
<Audio>Dictionary Resources\Sound Files\1.wav</Audio>
<Picture></Picture>
<Transliteration></Transliteration>
</Word>
...
...
</Root>