Once a module has been transferred i need to select it and output it into a Rich Text Box (placed to the right of it)the full module details that are held in an XML file.
I am able to read through the contents of the XML file and output all contents.But what i need it to do is just output the "SELECTED module" details. So i have to somehow read through the XML file and pick out the particular module/modules that the user selects? So if he/she selects 8 modules then i just want the details of all of those to display in the Rich Text Box? I have submitted this question to 4 different forums and noone seems to know how to do it?
Thankyou
Expand|Select|Wrap|Line Numbers
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using ModuleSelector.Entities;
- using System.Xml;
- using System.IO;
- using System.Xml.XPath;
- using System.Xml.Linq;
- namespace ModuleSelector
- {
- public partial class FormMain : Form
- {
- public FormMain()
- {
- InitializeComponent();
- }
- String mName, mCode, mDescription, mCapacity, mLectureSlot, mTutorialSlot;
- string workingDir = Directory.GetCurrentDirectory();
- private void FormMain_Load(object sender, EventArgs e)
- {
- int slot = (int)Timetable.timeSlots.Monday4_6;
- System.Console.WriteLine(slot);
- }
- private void listBoxModules_DragLeave(object sender, EventArgs e)
- {
- String module = (String)listBoxModules.SelectedItem;
- }
- private void listBoxModules_DrawItem(object sender, EventArgs e)
- {
- String module = (String)listBoxModules.SelectedItem;
- }
- private void buttonAddModule_Click(object sender, EventArgs e)
- {
- listBoxSelectedModules.Items.Add(listBoxModules.SelectedItem);
- }
- private void listBoxSelectedModules_DrawItem(object sender, DrawItemEventArgs e)
- {
- String module = (String)listBoxModules.SelectedItem;
- }
- private void listBoxModules_DrawItem(object sender, DrawItemEventArgs e)
- {
- String module = (String)listBoxModules.SelectedItem;
- }
- private void buttonRemoveModule_Click(object sender, EventArgs e)
- {
- listBoxSelectedModules.Items.Remove(listBoxModules.SelectedItem);
- }
- private void buttonSubmit_Click(object sender, EventArgs e)
- {
- }
- private void listBoxSelectedModules_SelectedIndexChanged(object sender, EventArgs e)
- {
- // Traverses through the Xml file reading each node
- XmlTextReader textReader = new XmlTextReader(workingDir + @"\XMLModules.xml");
- while (textReader.Read())
- {
- textReader.MoveToElement();
- if (textReader.Name == "moduleName")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mName += (" Module Name: " + textReader.Value.ToString());
- }
- }
- if (textReader.Name == "moduleCode")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mCode += (" Module Code: " + textReader.Value.ToString());
- }
- }
- if (textReader.Name == "moduleDescription")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mDescription += (" Module Description: " + textReader.Value.ToString());
- }
- }
- if (textReader.Name == "moduleCapacity")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mCapacity += (" Module Capacity: " + textReader.Value.ToString());
- }
- }
- if (textReader.Name == "lectureSlot")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mLectureSlot += (" Lecture Slot: " + textReader.Value.ToString());
- }
- }
- if (textReader.Name == "tutorialSlot")
- {
- textReader.Read();
- XmlNodeType nType = textReader.NodeType;
- if (nType == XmlNodeType.Text)
- {
- mTutorialSlot += (" Tutorial Slot: " + textReader.Value.ToString());
- }
- }
- // Outputs the data to the RichTextBox
- this.txtResults.Text = mName +
- "\n" + mCode +
- "\n" + mDescription +
- "\n" + mCapacity +
- "\n" + mLectureSlot +
- "\n" + mTutorialSlot;
- } textReader.Close();
- }
- private void richTextBox1_TextChanged(object sender, EventArgs e)
- {
- }
- private void butGetAll_Click(object sender, EventArgs e)
- {
- XDocument xmlDoc = XDocument.Load("XMLModules.xml");
- var modules = from module in xmlDoc.Descendants("Module")
- select new
- {
- Title = module.Element("moduleName").Value,
- Platform = module.Element("moduleCode").Value,
- };
- txtResults.Text = "";
- foreach (var module in modules)
- {
- txtResults.Text = txtResults.Text + "moduleName: " + module + "\n";
- txtResults.Text = txtResults.Text + "moduleCode: " + module + "\n\n";
- }
- if (txtResults.Text == "")
- txtResults.Text = "No Results.";
- }
- private void butFilter_Click(object sender, EventArgs e)
- {
- XDocument xmlDoc = XDocument.Load("XMLModules.xml");
- var modules = from module in xmlDoc.Descendants("Module")
- where module.Element("moduleName").Value == listBoxSelectedModules.ToString()
- select new
- {
- Title = module.Element("moduleName").Value,
- Platform = module.Element("moduleCode").Value,
- };
- txtResults.Text = "";
- foreach (var module in modules)
- {
- txtResults.Text = txtResults.Text + "moduleName: " + module + "\n";
- txtResults.Text = txtResults.Text + "moduleCode: " + module + "\n\n";
- }
- if (txtResults.Text == "")
- txtResults.Text = "No Results.";
- }
- }
- }
Expand|Select|Wrap|Line Numbers
- <?xml version="1.0" encoding="utf-8" ?>
- <modules>
- <module><moduleCode>3SFE504</moduleCode>
- <moduleName>Algorithms and Data Structures</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>1</semester>
- <Prerequisite>none</Prerequisite>
- <lectureSlot>0</lectureSlot>
- <tutorialSlot>1</tutorialSlot>
- <moduleDescription>Data structures, ADT's and implementations</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE508</moduleCode>
- <moduleName>3D GraphicsI</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>1</semester>
- <Prerequisite>none</Prerequisite>
- <lectureSlot>2</lectureSlot>
- <tutorialSlot>3</tutorialSlot>
- <moduleDescription>Introduction to graphical three-dimensional representation of geometric data</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE513</moduleCode>
- <moduleName>Event-Driven Programming</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>1</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>4</lectureSlot>
- <tutorialSlot>5</tutorialSlot>
- <moduleDescription>GUI's,Programming Event handlers in Java,embedded systems,control systems </moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE514</moduleCode>
- <moduleName>Object Orientated Design</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>1</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>6</lectureSlot>
- <tutorialSlot>7</tutorialSlot>
- <moduleDescription>Programming development process in Java</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE516</moduleCode>
- <moduleName>Requirements Engineering</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>1</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>8</lectureSlot>
- <tutorialSlot>9</tutorialSlot>
- <moduleDescription>Identifying,modelling and analysing requirements</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE599</moduleCode>
- <moduleName>Introduction to AI</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>1</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>10</lectureSlot>
- <tutorialSlot>0</tutorialSlot>
- <moduleDescription>Artificial Intelligence and Expert Systems</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE540</moduleCode>
- <moduleName>Java Mobile Application Development</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>1</semester>
- <prerequisite>3SFE514(corequisite)</prerequisite>
- <lectureSlot>1</lectureSlot>
- <tutorialSlot>2</tutorialSlot>
- <moduledescription>Java ME micro edition for mobile applications</moduledescription>
- </module>
- <module>
- <moduleCode>3SFE541</moduleCode>
- <moduleName>C#.Net Framework Programming</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>1</semester>
- <prerequisite>3SFE514(corequisite)</prerequisite>
- <lectureSlot>3</lectureSlot>
- <tutorialSlot>4</tutorialSlot>
- <moduleDescription>An Object Orientated programming language using the .NET Framework</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE515</moduleCode>
- <moduleName>Software Engineering Group Project</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE514(corequisite)</prerequisite>
- <lectureSlot>0</lectureSlot>
- <tutorialSlot>1</tutorialSlot>
- <moduleDescription>A Programming Group project in Java</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE519</moduleCode>
- <moduleName>Software Engineering</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>2</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>2</lectureSlot>
- <tutorial>3</tutorial>
- <moduleDescription>The Software Development Cycle</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE542</moduleCode>
- <moduleName>Mobile User Interface Development</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE540</prerequisite>
- <lectureSlot>4</lectureSlot>
- <tutorialSlot>5</tutorialSlot>
- <moduleDescription>The development of mobile applications,Windows CE and iPhone</moduleDescription>
- </module>
- <module>
- <moduleCode>3MTS594</moduleCode>
- <moduleName>Interactive Multimedia</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>2</semester>
- <prerequisite>none</prerequisite>
- <lectureSlot>6</lectureSlot>
- <tutorialSlot>7</tutorialSlot>
- <moduleDescription>Design, organise and produce multimedia content for a variety of devises</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE555</moduleCode>
- <moduleName>Concurrent Programming</moduleName>
- <moduleCapacity>5</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE504</prerequisite>
- <lectureSlot>8</lectureSlot>
- <tutorialSlot>9</tutorialSlot>
- <moduleDescription>Parallel Processing Computing</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE557</moduleCode>
- <moduleName>Mobile Gaming</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE513</prerequisite>
- <lectureSlot>10</lectureSlot>
- <tutorialSlot>0</tutorialSlot>
- <moduleDescription>Hardware/software components of mobile computer games </moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE500</moduleCode>
- <moduleName>Intelligent Systems</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE599</prerequisite>
- <lectureSlot>1</lectureSlot>
- <tutorialSlot>2</tutorialSlot>
- <moduleDescription>Computer robotics and multiagents systems</moduleDescription>
- </module>
- <module>
- <moduleCode>3SFE501</moduleCode>
- <moduleName>3D Graphics II</moduleName>
- <moduleCapacity>10</moduleCapacity>
- <semester>2</semester>
- <prerequisite>3SFE599</prerequisite>
- <lectureSlot>3</lectureSlot>
- <tutorialSlot>4</tutorialSlot>
- <moduleDescription>Graphical three-dimensional representation of geometric data</moduleDescription>
- </module>
- </modules>