作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有这个 HTML 代码:
<img src="../../../media/test.jpg" alt="test" />
但只想要这个:
"../../../media/test.jpg"
我如何在 Ruby 中获得它?
最佳答案
使用 Nokogiri
require 'nokogiri'
doc = Nokogiri::XML::DocumentFragment.parse <<-end
<img src="../../../media/test.jpg" alt="test" />
end
node = doc.at_css('img')
# => #(Element:0x49a28e8 {
# name = "img",
# attributes = [
# #(Attr:0x49a2da2 { name = "src", value = "../../../media/test.jpg" }),
# #(Attr:0x49a2e24 { name = "alt", value = "test" })]
# })
node.attributes
# => {"src"=>
# #(Attr:0x50324ba { name = "src", value = "../../../media/test.jpg" }),
# "alt"=>#(Attr:0x50324b0 { name = "alt", value = "test" })}
node.keys
# => ["src", "alt"]
node.values
# => ["../../../media/test.jpg", "test"]
node['src']
# => "../../../media/test.jpg"
node['alt']
# => "test"
如果你想删除属性alt
,你可以执行以下操作:
node.delete('alt')
node
# => #(Element:0x49a28e8 {
# name = "img",
# attributes = [
# #(Attr:0x49a2da2 { name = "src", value = "../../../media/test.jpg" })]
# })
node.values
# => ["../../../media/test.jpg"]
关于ruby - 如何在 Ruby 中获取 HTML 图像标签属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754686/
我是一名优秀的程序员,十分优秀!