0
我被一些非常简单但却很烦人的东西卡住了: 我有一个包含换行符和空白处的节点的xml文件。 可悲的是我不能改变XML。Rails - 从空白和换行符剥离xml导入
<?xml version="1.0" encoding="utf-8" ?>
<ProductFeed>
ACME公司 Fooproduct 富根::酒吧类别
我得到的节点,可以从它没有麻烦阅读:
url = "http://feeds.somefeed/feed.xml.gz"
@source = open((url), :http_basic_authentication=>["USER", "PW"])
@gz = Zlib::GzipReader.new(@source)
@result = @gz.read
@doc = Nokogiri::XML(@result)
@doc.xpath("/ProductFeed/Vendors/Vendor").each do |manuf|
vendor = manuf.css("Name").first.text
manuf.xpath("//child::Product").each do |product|
product_name = product.css("Name").text
foocat = product.css("Category").text
puts "#{vendor} ---- #{product_name} ---- #{foocat} "
end
end
这导致:
ACME Ltd. ---- Fooproduct ----
Foo Root :: Bar Category
显然,由product.css(“Category”)。text返回的字符串中存在换行符和制表符停止符或空格。
有谁知道如何去除换行符和水龙头或空格的结果吗?
我也可以这样做,在接下来的步骤,在这里我做一个找到“foocat”像
barcat = Category.find_by_foocat(foocat)
感谢您的帮助!
瓦尔
嗨Santiiii, 感谢您的想法!我之前没有使用任何xslt,它看起来很棒,并且为测试工作。为了完整性:我实际上最终在所需的节点上调用了'.text).strip'。 cat =(product.css(“Category”)。text).strip 原因是我用nokogiri设置的具体设置使得它更容易。 – 2010-03-29 15:18:19
我很高兴它的工作。问候 – 2010-04-05 08:48:05