Ejemplo n.º 1
0
        private ResultInfo getDetail(string backstring)
        {
            SgmlReader reader = new SgmlReader();

            reader.DocType = "HTML";

            reader.InputStream = new StringReader(backstring);

            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            reader.WhitespaceHandling = WhitespaceHandling.None;
            writer.Formatting         = Formatting.Indented;
            while (reader.Read())
            {
                if (reader.NodeType != XmlNodeType.Whitespace)
                {
                    writer.WriteNode(reader, true);
                }
            }


            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(sw.ToString()));
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);

            xnm.AddNamespace("bottum", "http://www.w3.org/1999/xhtml");

            XPathNavigator nav = doc.CreateNavigator();

            /////////////////根据网页返回结果分析

            string            xpath    = "//bottum:table[@id='ctl00_ContentPlaceHolder1_TrackDetail']/bottum:tr/bottum:td/bottum:div[8]/bottum:table/bottum:tr/bottum:td";
            XPathNodeIterator nodes    = nav.Select(xpath, xnm);//xpath表达式
            ResultInfo        backinfo = new ResultInfo(querynum);

            if (nodes.Count > 3)
            {
                nodes.MoveNext();
                nodes.MoveNext();
                nodes.MoveNext();
            }
            for (int i = 1; i < nodes.Count / 3; i++)
            {
                nodes.MoveNext();
                string time = nodes.Current.Value;
                nodes.MoveNext();
                nodes.MoveNext();
                string state = nodes.Current.Value;
                backinfo.add(time, state);
            }
            reader.Close();
            writer.Close();
            sw.Close();
            return(backinfo);
        }
Ejemplo n.º 2
0
        public ResultInfo getDetail(string backstring)
        {
            SgmlReader reader = new SgmlReader();

            reader.DocType     = "HTML";
            reader.InputStream = new StringReader(backstring);
            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            reader.WhitespaceHandling = WhitespaceHandling.None;
            writer.Formatting         = Formatting.Indented;
            while (reader.Read())
            {
                if (reader.NodeType != XmlNodeType.Whitespace)
                {
                    writer.WriteNode(reader, true);
                }
            }


            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(sw.ToString()));

            reader.Close();
            writer.Close();
            sw.Close();
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);

            xnm.AddNamespace("bottum", "http://www.w3.org/1999/xhtml");
            XPathNavigator    nav   = doc.CreateNavigator();
            string            xpath = "//bottum:table[@id='GridView1']/bottum:tr/bottum:td";
            XPathNodeIterator nodes = nav.Select(xpath, xnm);//xpath表达式

            if (nodes != null)
            {
                int        count    = nodes.Count;
                int        k        = count / 3;
                ResultInfo backinfo = new ResultInfo(queryNumber);
                for (int i = 0; i < k; i++)
                {
                    nodes.MoveNext();
                    nodes.MoveNext();
                    string time = nodes.Current.Value;
                    nodes.MoveNext();
                    string state = nodes.Current.Value;
                    backinfo.add(time, state);
                }

                return(backinfo);
            }
            else
            {
                return(new ResultInfo(queryNumber));
            }
        }
Ejemplo n.º 3
0
        private ResultInfo getDetail(string backstring)
        {
            SgmlReader reader = new SgmlReader();

            reader.DocType     = "HTML";
            reader.InputStream = new StringReader(backstring);
            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            reader.WhitespaceHandling = WhitespaceHandling.None;
            writer.Formatting         = Formatting.Indented;
            while (reader.Read())
            {
                if (reader.NodeType != XmlNodeType.Whitespace)
                {
                    writer.WriteNode(reader, true);
                }
            }
            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(sw.ToString()));
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
            XPathNavigator      nav = doc.CreateNavigator();

            /////////////////根据网页返回结果分析

            string            xpath = "//table[1]/tr/td";
            string            str   = "";
            XPathNodeIterator nodes = nav.Select(xpath, xnm);//xpath表达式

            ResultInfo backinfo = new ResultInfo(querynum);

            if (nodes.Count >= 4)
            {
                nodes.MoveNext();
                nodes.MoveNext();
                nodes.MoveNext();
                nodes.MoveNext();
            }
            for (int i = 4; i < nodes.Count / 2; i++)
            {
                nodes.MoveNext();
                string time = nodes.Current.Value;
                nodes.MoveNext();
                string state = nodes.Current.Value;
                backinfo.add(time, state);
                nodes.MoveNext();
            }
            reader.Close();
            writer.Close();
            sw.Close();
            return(backinfo);
        }
Ejemplo n.º 4
0
        public ResultInfo getDetail(string backstring)
        {
            backstring = backstring.Replace("xmlns=\"http://www.w3.org/1999/xhtml\"", "");
            SgmlReader reader = new SgmlReader();

            reader.DocType = "HTML";

            reader.InputStream = new StringReader(backstring);

            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            reader.WhitespaceHandling = WhitespaceHandling.None;
            writer.Formatting         = Formatting.Indented;
            while (reader.Read())
            {
                if (reader.NodeType != XmlNodeType.Whitespace)
                {
                    writer.WriteNode(reader, true);
                }
            }


            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(sw.ToString()));
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);

            xnm.AddNamespace("bottum", "http://www.w3.org/1999/xhtml");
            XPathNavigator    nav   = doc.CreateNavigator();
            string            xpath = "/html/body/table[8]/tr/td";
            XPathNodeIterator nodes = nav.Select(xpath, xnm);//xpath表达式

            if (nodes.Count >= 2)
            {
                nodes.MoveNext();
                nodes.MoveNext();
            }
            ResultInfo backinfo = new ResultInfo(querynum);

            for (int i = 1; i < nodes.Count / 2; i++)
            {
                nodes.MoveNext();
                string time = nodes.Current.Value;
                nodes.MoveNext();
                string state = nodes.Current.Value;
                backinfo.add(time, state);
            }
            reader.Close();
            writer.Close();
            sw.Close();
            return(backinfo);
        }
Ejemplo n.º 5
0
        private ResultInfo getDetail(string backstring)
        {
            //////////////用sgml库分析网页,转换成xml文件
            SgmlReader readern = new SgmlReader();

            readern.DocType     = "HTML";
            readern.InputStream = new StringReader(backstring);
            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            readern.WhitespaceHandling = WhitespaceHandling.None;
            writer.Formatting          = Formatting.Indented;
            while (!readern.EOF)
            {
                readern.Read();
                if (readern.NodeType != XmlNodeType.Whitespace)
                {
                    writer.WriteNode(readern, true);
                }
            }
            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(sw.ToString()));
            XmlNamespaceManager xnm    = new XmlNamespaceManager(doc.NameTable);
            XPathNavigator      nav    = doc.CreateNavigator();
            string            xpath    = "//div[@id='ess_ctr1579_TrackResult_DivBill']/table[2]/tr[@class='font_c']/td";
            XPathNodeIterator nodes    = nav.Select(xpath, xnm);//xpath表达式
            ResultInfo        backinfo = new ResultInfo(queryNumber);

            for (int i = 0; i < nodes.Count / 2; i++)
            {
                nodes.MoveNext();
                string time = nodes.Current.Value;
                nodes.MoveNext();
                string state = nodes.Current.Value;
                backinfo.add(time, state);
            }
            readern.Close();
            writer.Close();
            sw.Close();
            return(backinfo);
        }