/// <summary>
        /// Read the XML file with XmlDocument and store the content in a list of XmlContent objects.
        /// </summary>
        public List <XmlContent> ReadXmlFileWithXmlDocument()
        {
            List <XmlContent> content = new List <XmlContent>();

            XmlDocument xmlFile = new XmlDocument();

            xmlFile.Load(fileName);

            XmlNodeList childElementsNodes = xmlFile.DocumentElement.SelectNodes("/RootElement/ChildElements//ChildElement");

            foreach (XmlNode childElementNode in childElementsNodes)
            {
                XmlNode childValue1Node = childElementNode.SelectSingleNode("./ChildValue[@Name='ChildValue1']");
                XmlNode childValue2Node = childElementNode.SelectSingleNode("./ChildValue[@Name='ChildValue2']");
                XmlNode childValue3Node = childElementNode.SelectSingleNode("./ChildValue[@Name='ChildValue3']");

                int           childValue1 = int.Parse(childValue1Node.Attributes["Value"].Value, CultureInfo.InvariantCulture);
                string        childValue2 = childValue2Node.Attributes["Value"].Value;
                XmlEnumValues childValue3 = (XmlEnumValues)Enum.Parse(typeof(XmlEnumValues), childValue3Node.Attributes["Value"].Value);

                XmlContent contentElement = new XmlContent(childValue1, childValue2, childValue3);
                content.Add(contentElement);
            }

            return(content);
        }
        /// <summary>
        /// Read the XML file with Linq and store the content in a list of XmlContent objects.
        /// </summary>
        public List <XmlContent> ReadXmlFileWithLinq()
        {
            List <XmlContent> content = new List <XmlContent>();

            XDocument xmlFile = XDocument.Load(fileName);

            var childElements = from childElement in xmlFile.Descendants("ChildElement")
                                select new
            {
                ChildValues = childElement.Descendants("ChildValue"),
            };

            foreach (var childElement in childElements)
            {
                var childValue1q = childElement.ChildValues.Where(p => p.Attribute("Name").Value == "ChildValue1").Select(p => p).First();
                int childValue1  = int.Parse(childValue1q.Attribute("Value").Value);

                var    childValue2q = childElement.ChildValues.Where(p => p.Attribute("Name").Value == "ChildValue2").Select(p => p).First();
                string childValue2  = childValue2q.Attribute("Value").Value;

                var           childValue3q = childElement.ChildValues.Where(p => p.Attribute("Name").Value == "ChildValue3").Select(p => p).First();
                XmlEnumValues childValue3  = (XmlEnumValues)Enum.Parse(typeof(XmlEnumValues), childValue3q.Attribute("Value").Value);

                content.Add(new XmlContent(childValue1, childValue2, childValue3));
            }

            return(content);
        }
Exemple #3
0
 public XmlContent(int childValue1, string childValue2, XmlEnumValues childValue3)
 {
     ChildValue1 = childValue1;
     ChildValue2 = childValue2;
     ChildValue3 = childValue3;
 }