0
私はここで質問のために簡略化されたxmlの下に印刷しようとしています。 私はそれが私が望むようにそれを印刷するのに苦労します。 以下の正しい出力を誰でも手助けできますか?ノコギリxmlは私が望むように解析されていません
ここにすべての詳細があります StackOverflowエラーメッセージ:あなたの投稿は主にコードであるようです。あなたが.//
代わりの//
使用する必要がありますいくつかの詳細
# xml
<Info>
<Server NAME="host1">
<From_Version>
<Transition INDEX="1" VALUE="1234"/>
</From_Version>
<state>
<Transition INDEX="1" DATE="2016-06-14"/>
<Transition INDEX="2" DATE="2016-06-15"/>
</state>
</Server>
<Server NAME="host2">
<From_Version>
<Transition INDEX="1" VALUE="1234"/>
</From_Version>
<state>
<Transition INDEX="1" DATE="2016-07-14"/>
<Transition INDEX="2" DATE="2016-07-15"/>
</state>
</Server>
</Info>
# code
require 'nokogiri'
xml = File.open("d:/temp/test.xml")
doc = Nokogiri::XML(xml)
doc.xpath("//Server").each do |row|
#puts row
puts row["NAME"]
#puts s
row.xpath("//state//Transition").each do |idx|
puts "#{idx['INDEX']} #{idx['DATE']}"
end
end
# current output
host1
1 2016-06-14
2 2016-06-15
1 2016-07-14
2 2016-07-15
host2
1 2016-06-14
2 2016-06-15
1 2016-07-14
2 2016-07-15
# correct output
host1
1 2016-06-14
2 2016-06-15
host2
1 2016-07-14
2 2016-07-15
scorix、ありがとうございます。それは今働く – Jon