Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
HTTP GET - Download and Parse HTMLDownloads an HTML page from the Singapore Exchange and parses a row of options prices from an HTML table.
#include <CkHttp.h> #include <CkHtmlToXml.h> #include <CkXml.h> void ChilkatSample(void) { CkHttp http; bool success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { printf("%s\n",http.lastErrorText()); return; } // Send the HTTP GET and return the content in a string. const char * html; html = http.quickGetStr("http://esite.sgx.com/live/dt/DTFuture.asp?JBFE"); // Use the Chilkat HTML-to-XML component to convert // the HTML to parsable XML: CkHtmlToXml htmlToXml; // Any string argument automatically begins the 30-day trial. success = htmlToXml.UnlockComponent("30-day trial"); if (success != true) { printf("HtmlToXml component unlock failed\n"); return; } // Indicate the charset of the output XML we'll want. htmlToXml.put_XmlCharset("utf-8"); // Set the HTML: htmlToXml.put_Html(html); // We won't need the scripts or images, so drop those tags... htmlToXml.DropTagType("img"); htmlToXml.DropTagType("script"); // Get the XML: const char * xmlStr; xmlStr = htmlToXml.toXml(); // Load the XML into the Chilkat XML parser: CkXml xml; xml.LoadXml(xmlStr); // success = xml.SaveXml("out.xml"); CkXml *node = 0; // Find a known point in the XML. In this case we'll look for the text node // containing this string: "Chg From Prev Settle" node = xml.SearchForContent(null,"text","Chg From Prev Settle"); if (node == 0 ) { printf("Did not find Chg From Prev Settle\n"); return; } // Move up to the TD node: node->GetParent2(); // Move up to the TR node: node->GetParent2(); // Move to the next row (i.e. next TR) node->NextSibling2(); node->FirstChild2(); node->NextSibling2(); printf("Expire Month/Year: %s\n",node->getChildContent("text")); node->NextSibling2(); printf("Last: %s\n",node->getChildContent("text")); node->NextSibling2(); printf("Change: %s\n",node->getChildContent("text")); node->NextSibling2(); // ... success = node->SaveXml("row.xml"); delete node; } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.