これは私の初めてのXMLファイルの作業です。私はC#もとても新しいです。テーマに基づいて異なる単語セットを含むXMLファイルを作成しました。私がしたいのは、特定のタグからのすべての単語だけを読み込むことです。しかし、私はエラーは表示されません。リストボックスに追加するコードをスキップするだけです。私のXMLファイルのサンプルは次のとおりです:XDocumentを使用して特定のタグをリストボックスに読み込む
<?xml version="1.0"?>
<theme>
<fantasy>
<word>
<nn>wizzard</nn>
<nns>wizzards</nns>
<type>person</type>
</word>
<word>
<nn>wand</nn>
<nns>wands</nns>
<type>thing</type>
</word>
<word>
<vb>conjure</vb>
<vbg>conjuring</vbg>
<vbd>conjured</vbd>
</word>
<word>
<nnp>Merlin</nnp>
<type>person</type>
</word>
</fantasy>
<common>
<word>
<vb>run</vb>
<vbg>running</vbg>
<vbd>ran</vbd>
</word>
<word>
<nnp>Jeremy</nnp>
<type>person</type>
</word>
<word>
<nnp>Dylan</nnp>
<type>person</type>
</word>
<word>
<nnp>Darlene</nnp>
<type>person</type>
</word>
<word>
<nnp>Chelsea</nnp>
<type>person</type>
</word>
<word>
<jj>beautiful</jj>
<rb>beautifully</rb>
</word>
<word>
<jj>ugly</jj>
</word>
<word>
<jj>disgusting</jj>
<vbn>disgusted</vbn>
<rb>disgustingly</rb>
<nn>disgust</nn>
</word>
</common>
</theme>
私はすべてのタグを付けてリストボックスに入れたいと思います。ここに私が今まで持っているコードはあります:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void menuOpen_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.ShowDialog();
DocHandler.fileName = open.FileName;
DocHandler.doc = XDocument.Load(DocHandler.fileName);
txtText.Text = DocHandler.doc.ToString();
GetElements();
}
public void GetElements()
{
foreach (XElement element in DocHandler.doc.Root.Elements())
{
if (element.Name.LocalName.Contains("word"))
{
foreach (XElement subelement in element.Elements())
{
if (subelement.Name.LocalName.Contains("vb"))
{
listElements.Items.Add(subelement.Value.ToString());
}
}
}
}
}
}
public class DocHandler
{
public static string fileName { get; set; }
public static XDocument doc;
}
何か助けていただきありがとうございます!