REST_RUBY_XML

本文介绍了一种使用Ruby处理XML数据的方法,包括从参数中获取XML、构造XML数据并将其整合到现有文档中,最后以不同格式返回处理结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 
  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  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值