我目前正在做一個項目,我必須從代謝數據庫PubChem中請求數據。我正在使用Apache的HttpClient。我做了以下情況:如何在Java中使用httpClient到Filer的Filer部分
HttpClient httpclient = new DefaultHttpClient();
HttpGet pubChemRequest = new HttpGet("http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid="
+ cid + "&disopt=SaveXML");
pubChemRequest.getAllHeaders();
System.out.println(pubChemRequest);
HttpResponse response = null;
response = httpclient.execute(pubChemRequest);
HttpEntity entity = response.getEntity();
pubChemInchi = EntityUtils.toString(entity);
的問題是,這個碼流的整個XML文件:
<?xml version="1.0"?>
<PC-Compound
xmlns="http://www.ncbi.nlm.nih.gov"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://www.ncbi.nlm.nih.gov ftp://ftp.ncbi.nlm.nih.gov/pubchem/specifications/pubchem.xsd">
等
我想的是,我可以要求,例如, PubChem ID,它將粘貼與該ID相對應的值。我發現這可以用本地Java方法完成,但我需要使用HttpClient。 隨着本地Java,它會做這樣的:
cid = 5282253
reader = new PCCompoundXMLReader(
new URL("http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=" + cid + "&disopt=SaveXML").newInputStream())
mol = reader.read(new NNMolecule())
println "CID: " + mol.getProperty("PubChem CID")
(注:這段代碼寫在Groovy的,但它也經過了一些調整工作中的Java)
所以,如果有人能幫助我,那將是巨大的:)