"Jess Gabriel y Galn" <jgabrielygalan / gmail.com> wrote in post
#990433:
>
> I usually use Nokogiri to handle XML documents, and find css selectors
> easier than XPath. I'd do it like this:
>
> doc = Nokogiri::XML(<<END
> <root xmlns:exp="http://foo" xmlns:xsi="http://bar">
> <IfcWallStandardCase id="i1677">
>  <ObjectPlacement>
>    <IfcLocalPlacement xsi:nil="true" ref="i1671"/>
>  </ObjectPlacement>
> </IfcWallStandardCase>
>
> <IfcAxis2Placement3D id="i1671">
>  <Location>
>    <IfcCartesianPoint xsi:nil="true" ref="i1667"/>
>  </Location>
> </IfcAxis2Placement3D>
>
> <IfcCartesianPoint id="i1667">
>  <Coordinates id="i1670" exp:cType="list">
>    <IfcLengthMeasure exp:pos="0">117.4</IfcLengthMeasure>
>    <IfcLengthMeasure exp:pos="1">119.7</IfcLengthMeasure>
>    <IfcLengthMeasure exp:pos="2">0.</IfcLengthMeasure>
>  </Coordinates>
> </IfcCartesianPoint>
> </root>
> END
> )
>
> reference = doc.css("#i1671 Location
> IfcCartesianPoint").attribute("ref").value
> doc.css("##{reference} Coordinates IfcLengthMeasure").map {|element|
> element.text}
>
> This returns: => ["117.4", "119.7", "0."]
>

Thank you for the help.  I had been using REXML and it was working find
with one exception, it can be very slow.  So now I am trying to use
Nokogiri, and am running into a very simple error, I cannot load xml
files.  From the Nokogiri website I have been trying what is in their
tutorial:
f = File.open("blossom.xml")
doc = Nokogiri::XML(f)
f.close

But regardles of what I put in the ("...") it returns -
Error: #<Errno::EINVAL: C:/Program Files (x86)/Google/Google SketchUp
8/Plugins/examples/auto.rb:11:in `read': Invalid argument -
c:ourwalls.xml>
or
Error: #<Errno::ENOENT: C:/Program Files (x86)/Google/Google SketchUp
8/Plugins/examples/auto.rb:11:in `read': No such file or directory -
fourwalls.xml>

If I am simply trying to open an XML file named file.xml located at C:\,
what would I put to open it?  I have tried many things such as f
=File.open("C:\file.xml") and what not with no luck.  What do I need todo to open this?