我正在尝试WebClient中的DownloadData方法。我目前的问题是,我一直无法弄清楚如何将ASCII result(<到)从Encoding.ASCII.GetString(myDataBuffer);生产出来,在page之外。将ASCII编码为HTML
///
/// Curl data from the PMID
///
private void ClientPMID(int pmid)
{
//generate the URL for the client
StringBuilder pmid_url_string = new StringBuilder();
pmid_url_string.Append("http://www.ncbi.nlm.nih.gov/pubmed/").Append(pmid.ToString()).Append("?report=xml");
Uri PMIDUri = new Uri(pmid_url_string.ToString());
//declare and initialize the client
WebClient client = new WebClient();
// Download the Web resource and save it into a data buffer.
byte[] myDataBuffer = client.DownloadData(PMIDUri);
this.DownloadCompleted(myDataBuffer);
}
///
/// Crawl over the binary from myDataBuffer
///
/// Binary Buffer
private void DownloadCompleted(byte[] myDataBuffer)
{
string download = Encoding.ASCII.GetString(myDataBuffer);
PMIDCrawler pmc = new PMIDCrawler(download, "/pre/PubmedArticle/MedlineCitation/Article");
//iterate over each node in the file
foreach (XmlNode xmlNode in pmc.crawl)
{
string AbstractTitle = xmlNode["ArticleTitle"].InnerText;
string AbstractText = xmlNode["Abstract"]["AbstractText"].InnerText;
}
}
代码PMIDCrawler可以用我的关于DownloadStringCompletedEventHandler其他SO问题。尽管从string html = HttpUtility.HtmlDecode(nHtml);输出无效HTML (OR XML)(由于它不响应xml http标头),在收到Encoding.ASCII.GetString的内容后。
2013-03-13
Killrawr
+1
下面是如何用JavaScript做到这一点,例如http://stackoverflow.com/questions/5796718/html-entity-decode –
2013-03-13 02:48:28