-1
我想以這種格式將數據寫入到一個文本文件的標題和描述數據:如何從XML文件
Channel|Date|Start time|Duration|Title|Desc
下面是XML例子:
<!-- language: xml -->
<tv>
<channel id="YLE TV1">
<display-name lang="fi">YLE TV1</display-name>
<programme start="20150828110000 +0300" stop="20150828110500 +0300" >channel="YLE TV1">
<title lang="fi">Yle Uutiset</title>
</programme>
<programme start="20150828110500 +0300" stop="20150828111200 +0300" >channel="YLE TV1">
<title lang="fi">Yle Uutiset Uusimaa</title>
<desc lang="fi">Uutisia Uudeltamaalta.(n)</desc>
</programme>
</tv>
這裏是我的Ruby代碼:
require 'rubygems'
require 'nokogiri'
open('myfile.out', 'a') do |f|
doc = Nokogiri::XML(File.open("guidetv1.xml"))
doc.css("programme").each do |response_node|
strChannel = response_node["channel"]
if(strChannel.eql? "YLE TV1")
strChannel = "1"
elsif(strChannel.eql? "YLE TV2")
strChannel = "2"
end
strStart = response_node["start"]
strStop = response_node["stop"]
strTitle = response_node["title"]
strDesc = response_node["desc"]
f.puts strChannel + "|" + strStart + "|" + strStop + "|" + strTitle + "|" + strDesc
end
end
我如何讀title
和desc
數據? 如何檢查是否存在Desc
?
不幸的是,由於格式錯誤的XML示例,您的帖子不可讀。請檢查[Markdown幫助](http://stackoverflow.com/editing-help)並確保在提交格式錯誤後查看帖子。 – XLII
您的「文本文件」是CSV(「逗號分隔值」)文件的變體。看看Ruby的CSV類,並找出如何告訴它使用'|'而不是字段之間的逗號。它會處理你沒有想到的各種角落案例。 –
什麼是「String strChannel」和類似的行?這不是Ruby。 –