2016-03-30 17 views
-3

Bazı XML dosyalarının yan yana karşılaştırması için Ruby'de 2x2 tablo oluşturmak istiyorum. İlk satır sadece başlıklar olur, sıradaki satır dosyalar olur.Ruby'de bir HTML tablosu nasıl oluşturulur?

+0

Raylar üzerinde Ruby veya Ruby? –

+0

Üzgünüz, belirtmeliydim. Ruby – DemoNK

+0

xml'den ne kadar görüntülemek istiyorsunuz? hepsini ? Her iki taraftaki XML içeriğini dökmek mi yoksa görsel, çizgi ile karşılaştırmak mı istiyorsunuz? – babgyy

cevap

0

Anladığım kadarıyla böyle çok basit bir komut dosyası iş yapabilirdi, ama senin sorunun cevapsız bir şey olabilir: Eğer bunun üstüne oldukça girintilemeyi olmasını istiyorsanız

# Assuming your xml files are xml1.xml and xml2.xml, this will create an HTML file called result.html containing the HTML table 
html = "" 
html += "<html>" 
html += "<table>" 
html += "<tr><td>First XML File</td><td>Second XML file</td></tr>" 
html += "<tr>" 
html += "<td>" 
html += File.read("xml1.xml", :encoding => "UTF-8").encode(:xml => :text) 
html += "</td>" 
html += "<td>" 
html += File.read("xml2.xml", :encoding => "UTF-8").encode(:xml => :text) 
html += "</td>" 
html += "</tr>" 
html += "</table>" 
html += "</html>" 

%x(echo '#{html}' >> "result.html") 

, Yerleşik ovucu çekirdek REXML :: Document kullanabilirsiniz. Ayrıca iyi girintili bir şekilde görüntülemek için bir ön etiket içinde güzel girintili XML yuva gerekir:

require "rexml/document" 

doc1 = REXML::Document.new File.read("xml1.xml", :encoding => "UTF-8") 
out1 = "" 
doc1.write(out1, 2) 

doc2 = REXML::Document.new File.read("xml2.xml", :encoding => "UTF-8") 
out2 = "" 
doc2.write(out2, 2) 

html="" 
html += "<html>" 
html += "<table>" 
html += "<tr><td>First XML File</td><td>Second XML file</td></tr>" 
html += "<tr>" 
html += "<td><pre>" 
html += out1.encode(:xml => :text) 
html += "</pre></td>" 
html += "<td><pre>" 
html += out2.encode(:xml => :text) 
html += "</pre></td>" 
html += "</tr>" 
html += "</table>" 
html += "</html>" 

%x(echo '#{html}' >> "result.html") 
+0

Okunduğum XML'nin formatını korumadığı bir sorun yaşıyorum. Herhangi bir fikir? – DemoNK

+0

Biçimin hangi bölümü kaybolur? Bazı karakterler değişiyor mu? Yoksa girinti güzel değil mi? – babgyy

+0

Girinti güzel değil, sadece satırlar halinde bir grup mola ile bir uzun dizede okur – DemoNK

İlgili konular