2012-02-08 2 views
0

이 명령을 사용하여 xml 파일을 SRA-ENA라는 웹 서비스에 보냈습니다.타사 웹 서비스에서 XML 응답 수집

이에 대응
submission_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.submission.xml"), 'SUBMISSION') 
     study_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.study.xml"), 'STUDY') 
     sample_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.sample.xml"), 'SAMPLE') 
     run_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.run.xml"), 'RUN') 
     experiment_field = Curl::PostField.content(File.read("xml/#{@experiment.alias}.experiment.xml"), 'EXPERIMENT') 
     # Send these requests to the test-SRA website 
     request_test = Curl::Easy.http_post("https://www-test.ebi.ac.uk/ena/submit/drop-box/submit/?auth=ERA%20era-drop-81%20dxjf2dntWDr4CHg28qERORnv0RQ%3D", submission_field, study_field, sample_field, run_field, experiment_field) 

, 나는 XML 형식으로 웹 서버에서 영수증을받을

몇 가지 중 하나는 어떻게 더 멀리에 노코 기리 사용할 수 있도록 변수에이 XML을 저장하는 저를 안내 할 수하십시오 xml 파일을 구문 분석하십시오.

답변

0

다음은 Nokogiri를 사용하여 XML 결과를 구문 분석하는 방법을 보여주는 Rails 2.3.14를 사용하는 독립 실행 형 예입니다.

require 'nokogiri' 
require 'curb' 

# I have included this part so that this serves as a standalone example 

ce = Curl::Easy.new("http://www.myexperiment.org/announcements.xml") 
ce.perform 

# This is the part that deals with parsing the XML result using nokogiri 

doc = Nokogiri::XML::Document.parse(ce.body_str) 

doc.xpath("/announcements/announcement").each do |announcement| 
    puts announcement.content 
end 
+0

Don, 연석을 통해 보낸 데이터가 올바른지 어떻게 알 수 있습니까? 위의 방법으로 HTTP 415 오류가 발생했습니다. 연석 (Curb) 결과를 찾고 테스트하는 방법이 있습니까? – A1aks

+0

불행히도 415 응답은 서버가 사용자가 지정한 데이터를 좋아하지 않는다는 것을 의미합니다. 특정 웹 서비스를 읽지 않거나 웹 서비스를 실행하는 사람들과 연락하지 않고 왜 그 이유를 알 수있는 방법이 없습니다. –

+0

친애하는 Don, 제발 이것을 참조 할 수 있습니다 http://stackoverflow.com/questions/9227028/retrieving-xml-from-third-part-web-service 그리고 내가 코딩에서 올바른 방향에 있다면 제안 – A1aks

관련 문제