一目了然 rails html xml encode decode

本文介绍如何在 Ruby 中使用 HTMLEntities 和 Builder 库进行 HTML 实体的编码与解码,并展示了如何生成 XML 文档。具体包括 HTMLEntities 对象的创建与使用,以及通过 Builder 库构建复杂的 XML 结构。

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


1.9.2p320 :001 > require 'htmlentities'
1.9.2p320 :002 > c = HTMLEntities.new
#=> #<HTMLEntities:0x007fef0a5b0468 @flavor="xhtml1">
1.9.2p320 :003 > c.decode ">"
#=> ">"
1.9.2p320 :004 > require 'cgi'
# => false
1.9.2p320 :005 > CGI.unescapeHTML """
# => "\""
1.9.2p320 :006 > helper.send :raw, "<"
# => "<"
1.9.2p320 :007 > helper.send :raw, "</p>"
# => "</p>"
1.9.2p320 :008 > helper.send :h, "</p>"
# => "</p>"




xml稍微特别处理

require 'rubygems'
require 'builder'

content = <<eos
SOME TEXT, GOES TO UPPERCASE
other text
<em>italics<em>


xml = Builder::XmlMarkup.new
xml.instruct! :xml, :version => '1.0'
xml.book :id => 1.0 do
xml.keyPic "keyPic1.jpg"
xml.parts do
xml.part :partId => "1", :name => "name" do
xml.chapter :title => "title", :subtitle => "subtitle" do
xml.text content
end
end
end
end

#p xml
#When running from the CLI (Cygwin), I get the following:

<?xml version="1.0" encoding="UTF-8"?>
<book id="1.0">
<keyPic>keyPic1.jpg</keyPic>
<parts>
<part partId="1" name="name">
<chapter title="title" subtitle="subtitle">
<text>
SOME TEXT, GOES TO UPPERCASE
other text
<em>italics<em>
</text>
</chapter>
</part>
</parts>
</book><inspect/>


<text>
SOME TEXT, GOES TO UPPERCASE
other text
<em>italics<em/>
</text>



使用<< 操作符来添加不修改内容




xml.text do |t|
t << content
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值