I have a project where i read XML that was exported from another system. The XML looks like this:\[code\]<?xml version="1.0" encoding="ISO-8859-1"?><xmlimexport> <companydata/> <articles/> <customers/> <suppliers/> <orders> <order> <atOrder> <OOI_HEAD_DOCUMENT_NUMBER>12345</OOI_HEAD_DOCUMENT_NUMBER> **... more rows ...** </atOrder> <rows> <row><OOI_ROW_ARTICLE_NUMBER>12345</OOI_ROW_ARTICLE_NUMBER><OOI_ROW_ARTICLE_TEXT>SuperDuperArticleName</OOI_ROW_TEXT>**... more data...**</row> </rows> </order> </orders> <bests/> <invoices/> <supplierinvoices/> <pricelists/> <parcels/></xmlimexport>\[/code\]So what i do is load the path to the XML file then:\[code\]XmlDocument doc = new XmlDocument();// Load xml filedoc.Load(xmlFile);// Read order dataXmlNodeList orderList = doc.GetElementsByTagName("order");foreach (XmlElement order in orderList){ try { // Read atOrder data (single node) XmlNode atOrder = order.SelectSingleNode("atOrder"); // Read article data (one or many nodes) XmlNodeList articles = order.GetElementsByTagName("row"); // Create a order Order customerOrder = new Order();\[/code\]Then read data with:\[code\]customerOrder.CUS_ID = Convert.ToInt32(atOrder.SelectSingleNode("OOI_HEAD_DOCUMENT_NUMBER").InnerText);\[/code\]But since it can be both Strings, Booleans, Datetime, Date and INT in those fields i find myself having to use \[code\]Convert.\[/code\] very much, is this the proper way to do this or should i use a different approach?