0
有我的代碼:我可以使用Ruby/Builder在xml節點中寫入內容嗎?
require 'builder'
def initXML(builder)
builder.instruct!
builder.results(:result => 'result'){}
end
def writeXML(builder,name,hello)
builder.test(:name => name){
builder.hello hello
}
end
builder = Builder::XmlMarkup.new(:target=> STDOUT, :indent=>4)
initXML(builder)
writeXML(builder,'name1','hello1')
writeXML(builder,'name2','hello2')
執行,我得到這個XML:
<?xml version="1.0" encoding="UTF-8"?>
<results result="result">
</results>
<test name="name1">
<hello>hello1</hello>
</test>
<test name="name2">
<hello>hello2</hello>
</test>
但我想在文件末尾的</results>
結束標記。有一種在<results>
節點內寫入的方法?或者將</results>
移動到文件末尾?最好使用Nokogiri?或者更好地手動生成我的XML?我試圖在Watir單元測試中使用它,我可以使用它來將結果寫入XML文件嗎?
(更新)這就是我想要的XML:
<?xml version="1.0" encoding="UTF-8"?>
<results result="result">
<test name="name1">
<hello>hello1</hello>
</test>
<test name="name2">
<hello>hello2</hello>
</test>
</results>
感謝。
我將用我想要的XML的示例更新我的問題。 – Marcelo 2012-07-27 20:16:42
@Marcelo我們理解你想要的XML,我問你用什麼方法來完成。在你給的例子中,沒有太多理由使用它們;它使用普通建造者的時間基本上很短。 – 2012-07-27 20:46:05
我想使用測試/單元在Watir上運行測試,在每次測試中,我想在XML中寫入結果和其他內容,調用我的方法,但是當我將標記''設置爲'時,構建器會自動關閉標記,我想寫標籤,將結果寫入''內的標籤中,然後在結尾用' '關閉測試。我對Ruby很熟悉,我不知道我是否可以用builder來做到這一點。 –
Marcelo
2012-07-28 02:24:29