示例#1
0
        internal void WriteRunSettingsReport()
        {
            var firstSuite = ResultNode.SelectSingleNode("test-suite");

            if (firstSuite != null)
            {
                var settings = firstSuite.SelectNodes("settings/setting");

                if (settings.Count > 0)
                {
                    Writer.WriteLine(ColorStyle.SectionHeader, "Run Settings");

                    foreach (XmlNode node in settings)
                    {
                        WriteSettingsNode(node);
                    }

                    Writer.WriteLine();
                }
            }
        }
示例#2
0
        public void WriteRunSettingsReport()
        {
            var firstSuite = ResultNode.SelectSingleNode("test-suite");

            if (firstSuite != null)
            {
                var settings = firstSuite.SelectNodes("settings/setting");

                if (settings.Count > 0)
                {
                    Writer.WriteLine(ColorStyle.SectionHeader, "Run Settings");

                    foreach (XmlNode node in settings)
                    {
                        string name  = node.GetAttribute("name");
                        string val   = node.GetAttribute("value");
                        string label = string.Format("    {0}: ", name);
                        Writer.WriteLabelLine(label, val);
                    }

                    Writer.WriteLine();
                }
            }
        }
        public GDSResult Search(string Keywords)
        {
            string URL = ComposeUrl(Keywords);

            XmlDocument doc = new XmlDocument();

            string XML = this.GetContent(URL);

            if (XML == null || XML == String.Empty)
            {
                throw new Exception("Can't fetch data form GDS.");
            }

            try
            {
                doc.LoadXml(XML);
            }
            catch {
                throw new Exception("Error parsing XML response.");
            }

            XmlNodeList ResultNodes = doc.SelectNodes(
                this.PrepareXPath()
                );

            ArrayList vector = new ArrayList(10);

            foreach (XmlNode ResultNode in ResultNodes)
            {
                GDSResultItem item = new GDSResultItem();

                try {
                    // URL
                    XmlNode UrlNode = ResultNode.SelectSingleNode("url");
                    item.Url = UrlNode.InnerText;
                } catch {}

                try {
                    // Title
                    XmlNode TitleNode = ResultNode.SelectSingleNode("title");
                    item.Title = TitleNode.InnerText;
                }
                catch {}

                try {
                    // Snippet
                    XmlNode SnippetNode = ResultNode.SelectSingleNode("snippet");
                    item.Snippet = SnippetNode.InnerText;
                } catch {}

                try {
                    // ID
                    XmlNode IdNode = ResultNode.SelectSingleNode("id");
                    item.ID = Convert.ToInt32(IdNode.InnerText);
                } catch {}

                try {
                    // Time
                    XmlNode TimeNode = ResultNode.SelectSingleNode("time");
                    item.Time = DateTime.FromFileTime(Convert.ToInt64(TimeNode.InnerText));
                } catch {}

                try {
                    // IconUrl
                    XmlNode IconNode = ResultNode.SelectSingleNode("icon");
                    item.IconUrl = IconNode.InnerText;
                } catch {}

                try {
                    // CacheUrl
                    XmlNode CacheNode = ResultNode.SelectSingleNode("cache_url");
                    item.CacheUrl = CacheNode.InnerText;
                } catch {}

                try {
                    // ThumbnailUrl
                    XmlNode ThumbnailNode = ResultNode.SelectSingleNode("thumbnail");
                    item.ThumbnailUrl = ThumbnailNode.InnerText;
                } catch {}

                try {
                    // From
                    XmlNode FromNode = ResultNode.SelectSingleNode("from");
                    item.From = FromNode.InnerText;
                } catch {}

                try {
                    // Type
                    XmlNode CategoryNode = ResultNode.SelectSingleNode("category");
                    switch (CategoryNode.InnerText)
                    {
                    case "file":
                        item.Type = GDSItemTypes.File;
                        break;

                    case "email":
                        item.Type = GDSItemTypes.Email;
                        break;

                    case "chat":
                        item.Type = GDSItemTypes.Chat;
                        break;

                    case "web":
                        item.Type = GDSItemTypes.Web;
                        break;
                    }
                } catch {}

                vector.Add(item);
            }

            XmlNode      CountNode      = doc.SelectSingleNode("/results");
            XmlAttribute CountAttribute = CountNode.Attributes["count"];

            GDSResult rst = new GDSResult();

            rst.Items = (GDSResultItem[])vector.ToArray(typeof(GDSResultItem));
            rst.Count = Convert.ToInt32(CountAttribute.Value);

            return(rst);
        }