1

チェックボックスの選択に基づいて 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>
4

1 に答える 1