2013-04-06 3 views
0

내 발전기에 XML에서 읽기, C#을 고투, 그래서 나는 XML 파일 (명 "ideas.xml")을 만들어 :내가 Excel에서이 일을 포기

<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에서 마지막 사이의 임의의 숫자를 선택하는 방법에 대한 팁은 정말 멋집니다.

도움, 제안 또는 의견은 매우 높이 평가됩니다.

답변

0

코드에서와 같이 대신 하드 코딩 0의의, 인덱스를 생성하기 위해 r 변수 (Random 클래스 인스턴스 인) 사용

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)) + "."; 
+0

감사합니다! 그것은 완벽하게 작동했습니다. –