I would like to parse a very simple html(index_msg.htm) file described below :
<tr>
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
<tr>
<td>WM_ACTIVATEAPP</td>
<td>0x001C</td>
<td></td>
<td>0x0001</td>
<td>WM_CREATE</td>
</tr>
...
I would like to parse this file and to extract information like this :
I would like to parse a very simple html(index_msg.htm) file described below :
<tr>
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
<tr>
<td>WM_ACTIVATEAPP</td>
<td>0x001C</td>
<td></td>
<td>0x0001</td>
<td>WM_CREATE</td>
</tr>
...
I would like to parse this file and to extract information like this :
pairs.each do |name, value|
puts "e#{name} = #{value}"
end
The XML to array code kind of sucks, in the next version of scRUBYt! you will be able to output the result directly to a hash (or CSV or YAML or some other, more friendly format for such a task).
file_in = File.read("C:/WIKI_CE/index_msg.htm")
File.open("C:/WIKI_CE/enumWmMsg.h", "w") do |file_out|
file_in.scan(REGEX) do
file_out.puts $1, $2, $3, $4, $5
end
end
end
Notes:
1. we_use_snake_case_for_variable_names
2. Use File.open with block to automatically close the file
3. You'll have the values in $1..$5
4. It seems you are inconsistent - in the first example you chose the
second line, in the other the fourth one.
In any case, Peter's approach will be easier, and more stable.
···
On 3/5/07, mosfet <richom.v@free.fr> wrote:
Hi,
I would like to parse a very simple html(index_msg.htm) file described
below :
<tr>
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
<tr>
<td>WM_ACTIVATEAPP</td>
<td>0x001C</td>
<td></td>
<td>0x0001</td>
<td>WM_CREATE</td>
</tr>
...
I would like to parse this file and to extract information like this :