Hello and thank you to all the wonderful and helpful people at this
forum. I am trying to figure out how to search through an XML file and
grab information. I have been reading the REXML tutorials but could not
see an answer to my problem in them
(http://www.germane-software.com/software/rexml/docs/tutorial.html).
The problem is I need to search by an attribute (in this case the ref)
and cannot figure out how. Here is a snippet of the XML I am trying to
extract information from:
<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>
So basically I have to start with IfcWallStandardCase and from there
work my way through the "ref"'s until I get to the 3 IfcLengthMeasures.
I know how to grab the first ref "i1671" using:
XPath.match(doc,"/IfcWallStandardCase/ObjectPlacement/IfcLocalPlacement")
and some additional code.
My problem is I cannot figure out how to use this "i1671" to search the
xml and grab the next ref. This ref is the only thing linking the items
together, so it is the only thing that I can use.
Is it possible to search a document by using an attribute, and if so
how? In this case to use the ref, "i1671" to search the document for
where it is used as id="i1671" so I can grab the next ref from there and
so on. Any help would be greatly appreciated.
Thank you all.
Sincerely,
Kyle
···
--
Posted via http://www.ruby-forum.com/.