This should be easy but I am struggling to understand how to do this with XMLReader or with Linq.
This is a pet project I am working on over the weekend to improve my skills – Ideally this should have all nested objects as first class objects but I am open to ideas about how to interpret this
EDIT: I have tried the XMLReader but my code is more then 30 0lines wrong and looks horrible – In C# how can you translate XML into objects?
Can I deserialise this into an object by using a Deserialiser and if so do I construct all the objects by hand?
'<level4>
<module>
<moduleCode>ECSC401</moduleCode>
<moduleTitle>Programming Methodology</moduleTitle>
<credits>15</credits>
<semester>1</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>40</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Test2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>ECSC404</moduleCode>
<moduleTitle>Computer Systems Fundamentals</moduleTitle>
<credits>15</credits>
<semester>1</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Test2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Test3</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>40</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>EBSY401</moduleCode>
<moduleTitle>Information and Data Modelling</moduleTitle>
<credits>15</credits>
<semester>1</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>25</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>10</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>35</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework3</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>ECSC405</moduleCode>
<moduleTitle>Software Development Principles</moduleTitle>
<credits>15</credits>
<semester>2</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>40</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Test2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>ECSC407</moduleCode>
<moduleTitle>Web Technology</moduleTitle>
<credits>15</credits>
<semester>2</semester>
<assessmentDetails>
<assessment>
<assessmentName>Tutorials</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>20</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>20</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Exam</assessmentName>
<assessmentType>Exam</assessmentType>
<assessmentWeighting>60</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>ECSC409</moduleCode>
<moduleTitle>Software Engineering Principles</moduleTitle>
<credits>15</credits>
<semester>2</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>40</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Coursework2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>ECSC408</moduleCode>
<moduleTitle>Mathematics for Computing</moduleTitle>
<credits>15</credits>
<semester>0</semester>
<assessmentDetails>
<assessment>
<assessmentName>Coursework</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>50</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Exam</assessmentName>
<assessmentType>Exam</assessmentType>
<assessmentWeighting>50</assessmentWeighting>
<assessmentDueDate></assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
<module>
<moduleCode>EBSY400</moduleCode>
<moduleTitle>Communication and Learning Skills</moduleTitle>
<credits>15</credits>
<semester>0</semester>
<assessmentDetails>
<assessment>
<assessmentName>Presentation</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate>2010-05-06</assessmentDueDate>
</assessment>
<assessment>
<assessmentName>Portfolio</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>70</assessmentWeighting>
<assessmentDueDate>2010-05-06</assessmentDueDate>
</assessment>
</assessmentDetails>
</module>
</level4>
one way is to use the string with the xml data and the other one is “serializer” in which the XML serializer object to use to read the XML document.
And this function returns object and that is initialized instance of the object