[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>

Hello there, how are you? Hope you are fine. I am a PHP programmer

17 messages 2013/06/02

[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>

Hello,

18 messages 2013/06/03

[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>

Thread title says everything.

18 messages 2013/06/04

[#408012] Need help understanding recursion. — pedro oliva <lists@...>

Ive been reading Chris Pine's book 'Learn to Program' and its been going

11 messages 2013/06/06

[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>

I'm new to Ruby Development. I downloaded source from Github, but couldn't

24 messages 2013/06/11
[#408131] Re: Getting Started With Development — Per-erik Martin <lists@...> 2013/06/11

Ruby is often installed on linux, or can be easily installed with the

[#408146] Re: Getting Started With Development — "Chamila W." <lists@...> 2013/06/11

Per-erik Martin wrote in post #1112021:

[#408149] Re: Getting Started With Development — "Carlo E. Prelz" <fluido@...> 2013/06/11

Subject: Re: Getting Started With Development

[#408198] NokoGiri XML Parser — "Devender P." <lists@...>

Hi,

11 messages 2013/06/13

[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>

I am trying to load a ruby program into irb and it will not load.

12 messages 2013/06/13

[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>

Hell Team,

18 messages 2013/06/13
[#408219] Re: Can I use Sinatra to render dynamic pages? — Nicholas Van Weerdenburg <vanweerd@...> 2013/06/14

You should be able to do this without JavaScript by using streaming.

[#408228] Re: Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...> 2013/06/14

Well, I got some good suggestions from everyone here. I thank you all for

[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>

I have two arrays of objects that look something like this:

14 messages 2013/06/17

[#408276] Comparing objects — "Thom T." <lists@...>

How do I compare two objects in Ruby, considering only attributes

15 messages 2013/06/17

[#408307] getting the most out of Ruby — robin wood <lists@...>

I write a lot of scripts in Ruby, most are small simple things but some

13 messages 2013/06/18

[#408309] Creating ruby script exe — Rochit Sen <lists@...>

Hi All,

17 messages 2013/06/18

[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>

Hi all!

28 messages 2013/06/20

[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>

I want to evaluate the following interactively:

10 messages 2013/06/23

[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>

I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9

17 messages 2013/06/27

[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>

Hello all,

12 messages 2013/06/27

[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>

array = {:id=>1, :price =>0.25} # index[0]

23 messages 2013/06/28

Re: NokoGiri XML Parser

From: Robert Klemme <shortcutter@...>
Date: 2013-06-16 14:35:17 UTC
List: ruby-talk #408256
On Fri, Jun 14, 2013 at 6:46 PM, Devender P. <lists@ruby-forum.com> wrote:

> The problem with xpath or maybe i am not sure how to use it but if i say
>
> doc.xpath("tlv componentInstances") produces the list of all attirbutes
> inside the componentInstances without giving me the hierarchy.
>
> Here is what i have in my XML.
>
> Each cellname with a type "HIER" will have <componentInstances> tag with
> additional attributes.
>
>
>   <CELLNAME>A1
>   <TYPE>HIER...
>   <COMPONENTINSTANCES>...
>       <CELLNAME>A2
>       <TYPE>HIER
>       <COMPONENTINSTANCES>
>         <CELLNAME>A3
>         <TYPE>MODEL....
>        </COMPONENTINSTANCES>
>       <CELLNAME>B2
>       <TYPE>MODEL
>    </COMPONENTINSTANCES>
>

This is not valid XML.  Where are the closing tags for <CELLNAME> and
<TYPE>?


> I want to be able to capture the componentInstances with respect to the
> parent cell.
>

You'll likely need a two step approach: search for all <CELLNAME> and for
each one of them search for the closest anchestor <CELLNAME>.

require 'nokogiri'

def c_name(c_node)
  t = c_node.at_xpath('n/text()') and t.to_s
end

dom = Nokogiri.XML <<XML_DOC
<root>
  <c>
    <n>foo</n>
    <c>
    <n>bar</n>
    <c>
      <n>bat</b>
    </c>
    </c>
  </c>
</root>
XML_DOC

dom.xpath('//c').each do |c_node|
  parent = c_node.at_xpath 'ancestor::c'

  if parent
    printf "Node: %s parent %s\n", c_name(c_node), c_name(parent)
  else
    printf "Node: %s no parent\n", c_name(c_node)
  end
end



> Please feel free to suggest a different XML structure if the paresers
> can handle them better.


I would start with _valid_ XML.  You should model the XML primarily
according to the requirements of the model that you need to created and not
necessarily according to what will have the easiest XPath for retrieval.

Cheers

robert


-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread