挣扎与c#,从XML读取在我的生成器
本文关键字:我的 读取 XML 挣扎 | 更新日期: 2023-09-27 18:07:53
我放弃了在Excel中这样做,所以我创建了一个XML文件(名为"ideas.xml"),看起来像这样:
<ideas>
<verbs>
<verb>Verb1</verb>
<verb>Verb2</verb>
<verb>Verb3</verb>
<verb>Verb4</verb>
<verb>Verb5</verb>
</verbs>
<adjectives>
<adjective>Adjective1</adjective>
<adjective>Adjective2</adjective>
<adjective>Adjective3</adjective>
<adjective>Adjective4</adjective>
<adjective>Adjective5</adjective>
</adjectives>
<nouns>
<noun>Noun1</noun>
<noun>Noun2</noun>
<noun>Noun3</noun>
<noun>Noun4</noun>
<noun>Noun5</noun>
</nouns>
</ideas>
我想做一个生成器,打印出一个随机的动词,形容词和名词像这样。这是我正在努力的部分:
public void button1_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("ideas.xml");
Random r = new Random();
XmlNodeList verbTag = xmlDoc.GetElementsByTagName("verb");
XmlNodeList adjectiveTag = xmlDoc.GetElementsByTagName("adjective");
XmlNodeList nounTag = xmlDoc.GetElementsByTagName("noun");
textBox1.Text = ((verbTag[0].InnerText) + " " + (adjectiveTag[0].InnerText) + " " + (nounTag[0].InnerText)) + ".";
}
我正试图在输出中添加一个随机化器,但我似乎无法得到正确的结果。另外,我打印出数组中的第一个值只是为了让它工作,任何关于如何在0和最后一个数字之间选择一个随机数的技巧都会非常有趣。
任何帮助、提示或建议都是非常感谢的。
使用r
变量(这是Random
类实例)来生成索引,而不是像代码中那样硬编码0
:
textBox1.Text = ((verbTag[r.Next(0, verbTag.Count - 1)].InnerText) + " " + (adjectiveTag[r.Next(0, adjectiveTag.Count - 1)].InnerText) + " " + (nounTag[r.Next(0, nounTag.Count - 1)].InnerText)) + ".";