예제 #1
0
        public void parseBlackboardXml(string filename)
        {
            XmlNodeList itemNodes;

            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(filename);

                //StreamReader sr = new StreamReader();
                //sr.
            }
            catch
            {
                //MessageBox.Show(e.Message);
            }

            itemNodes = doc.GetElementsByTagName("item");

            foreach (XmlNode node in itemNodes)
            {

                BlackboardItemControl bbc = new BlackboardItemControl();

                // parse node occuring once

                XmlNode titleNode = node.SelectSingleNode("title");
                if (titleNode != null)
                    bbc.Title = titleNode.InnerText;

                XmlNode typeNode = node.SelectSingleNode("type");
                if (typeNode != null)
                    bbc.Type = typeNode.InnerText;

                XmlNode categoryNode = node.SelectSingleNode("category");
                if (categoryNode != null)
                    bbc.Category = categoryNode.InnerText;

                XmlNode descriptionNode = node.SelectSingleNode("description");
                if (descriptionNode != null)
                    bbc.Description = descriptionNode.InnerText;

                XmlNode emailNode = node.SelectSingleNode("email");
                if (emailNode != null)
                    bbc.Email = emailNode.InnerText;

                XmlNode telNode = node.SelectSingleNode("tel");
                if (telNode != null)
                    bbc.Tel = telNode.InnerText;

                // parse nodes that might occur more often such as image and info

                bbc.Details = "";

                // run through info nodes
                XmlNodeList infoNodeList = node.SelectNodes("info");

                foreach (XmlNode infoNode in infoNodeList)
                {
                    if (!bbc.Details.Equals(""))
                        bbc.Details += "\n";

                    bbc.Details += infoNode.InnerText;
                }

                // run through image nodes
                XmlNodeList imageNodeList = node.SelectNodes("image");

                foreach (XmlNode imageNode in imageNodeList)
                    bbc.addImage(imageNode.InnerText);

                // construct contact TextBlock content
                string contactString = "";
                if (!bbc.Email.Equals(""))
                    contactString = "E-Mail: " + bbc.Email;

                if (!bbc.Tel.Equals(""))
                {
                    if (!contactString.Equals(""))
                        contactString += "\n";

                    contactString += "Telefon: " + bbc.Tel;

                }

                bbc.Contact = contactString;

                //if (bbc.Type.Equals("gebot"))
                //    bbc.BgColor = Brushes.Blue;
                //else if (bbc.Type.Equals("gesuch"))
                //    bbc.BgColor = Brushes.Green;

                // finally ...
                bbItems.Add(bbc);

                //foreach (BlackboardItemControl currentItem in bbItems)
                //{
                //    currentItem.IsEnabled = false;
                //}

            }
        }
예제 #2
0
        public void parseBlackboardXml(string filename)
        {
            XmlNodeList itemNodes;

            XmlDocument doc = new XmlDocument();


            try
            {
                doc.Load(filename);


                //StreamReader sr = new StreamReader();
                //sr.
            }
            catch
            {
                //MessageBox.Show(e.Message);
            }

            itemNodes = doc.GetElementsByTagName("item");

            foreach (XmlNode node in itemNodes)
            {
                BlackboardItemControl bbc = new BlackboardItemControl();

                // parse node occuring once

                XmlNode titleNode = node.SelectSingleNode("title");
                if (titleNode != null)
                {
                    bbc.Title = titleNode.InnerText;
                }

                XmlNode typeNode = node.SelectSingleNode("type");
                if (typeNode != null)
                {
                    bbc.Type = typeNode.InnerText;
                }

                XmlNode categoryNode = node.SelectSingleNode("category");
                if (categoryNode != null)
                {
                    bbc.Category = categoryNode.InnerText;
                }

                XmlNode descriptionNode = node.SelectSingleNode("description");
                if (descriptionNode != null)
                {
                    bbc.Description = descriptionNode.InnerText;
                }

                XmlNode emailNode = node.SelectSingleNode("email");
                if (emailNode != null)
                {
                    bbc.Email = emailNode.InnerText;
                }

                XmlNode telNode = node.SelectSingleNode("tel");
                if (telNode != null)
                {
                    bbc.Tel = telNode.InnerText;
                }



                // parse nodes that might occur more often such as image and info

                bbc.Details = "";

                // run through info nodes
                XmlNodeList infoNodeList = node.SelectNodes("info");

                foreach (XmlNode infoNode in infoNodeList)
                {
                    if (!bbc.Details.Equals(""))
                    {
                        bbc.Details += "\n";
                    }

                    bbc.Details += infoNode.InnerText;
                }

                // run through image nodes
                XmlNodeList imageNodeList = node.SelectNodes("image");

                foreach (XmlNode imageNode in imageNodeList)
                {
                    bbc.addImage(imageNode.InnerText);
                }



                // construct contact TextBlock content
                string contactString = "";
                if (!bbc.Email.Equals(""))
                {
                    contactString = "E-Mail: " + bbc.Email;
                }

                if (!bbc.Tel.Equals(""))
                {
                    if (!contactString.Equals(""))
                    {
                        contactString += "\n";
                    }


                    contactString += "Telefon: " + bbc.Tel;
                }

                bbc.Contact = contactString;



                //if (bbc.Type.Equals("gebot"))
                //    bbc.BgColor = Brushes.Blue;
                //else if (bbc.Type.Equals("gesuch"))
                //    bbc.BgColor = Brushes.Green;



                // finally ...
                bbItems.Add(bbc);

                //foreach (BlackboardItemControl currentItem in bbItems)
                //{
                //    currentItem.IsEnabled = false;
                //}
            }
        }