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); }
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)); } }
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); }
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); }
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); }