REST_RUBY_XML


 
  1. #response to client
  2. respond_to do |wants|  
  3.   wants.html { redirect_to(person_list_url) }  
  4.   wants.js  
  5.   wants.xml  { render :xml => @person.to_xml(:include => @company) }  
  6. end  


 
  1. #获取params里传来的xml数据:
  2. #get data from parameters
  3. channel_info_hash = Hash.from_xml(params[:id])  


 
  1. #post datas to the server
  2.  #response =  Net::HTTP.post_form(
    1. URI.parse('http://192.168.5.189:3001/productcenter/sku/updatefrominventory'),     {'product'=>re.to_xml()}
  3. )  
  4.   
  5. #product 为在上文中处理好的 产品 hash 表 
  6.  
  7. path = '/productcenter/admin/receive_channelInfo/'  
  8. response =  Net::HTTP.post_form(
    1. URI.parse('http://'+PRODUCTCENTER_SITE+':'+PRODUCTCENTER_PORT+path),
    2. {'product'=>re.to_xml()}
    3. )  
ruby 代码
 
  1.           
  2.  注:需发引入 require 'rexml/document'  
  3. 在命令行可以 在代码前面用include REXML 载入命令空间。  
  4. 但在类里面还尚未找到   怎样使用include REXML方法。  
  5. 故下面的代码中需要使用REXML::Document.new()来载入Document模块类。  
  6.  #skuImages xml  
  7.   skuImages_xml= @channel.skuid_imageAttr_into_hash.to_xml  
  8.   skuImg_doc = REXML::Document.new(skuImages_xml)  
  9.   element_skuImages = skuImg_doc.root.elements['skuImages']  
  10.   #channel xml  
  11.   channel_xml = REXML::Document.new(@channel.to_xml)  
  12.   channel_doc = channel_xml.root  
  13.   # skuImages join into channel  
  14.   channel_doc.elements << element_skuImages   
  15. respond_to do |accepts|  
  16.    accepts.html   
  17.    accepts.xml { render  :xml =>  channel_xml.to_s}  
  18. end  

你可能感兴趣的:(html,xml,.net,REST,Ruby)