REXML parsing issue

C

Charles Sword

Disclaimer: I'm new to programming and ruby.

I've used REXML to write both tree and stream parsers for simple xml
files but I can't seem to return values for the xml below in either
case:

<HIT NO="1" RANK="15335" SITEID="0" MOREHITS="0" FCOCOUNT="0">
<FIELD NAME="title">Sample Text</FIELD>
</HIT>

In this example I'd like to return the value (Sample Text)for the <FIELD
NAME="title"> tag? So my question is how do I specify this attribute to
either a tree or stream parser?

Any help would be appreciated.

Thanks.
 
C

Charles Sword

Thanks Phlip. That allowed me to get to the first instance in each
document but I'm struggling with populating an array with XPath.each?
Here's the statement I'm using:

url=REXML::XPath.each(doc, '//HIT/FIELD[ "url" = @NAME ]').text
{|element|}

I'm getting a 'no code block given' error but I thought this should pass
each element back to the array url?

Thanks in advance for any further help.

charles

Charles said:
either a tree or stream parser?
Use XPath:

title = REXML::XPath.first(doc, '/HIT/FIELD[ "title" = @name ]').text

Look up my assert_xpath project for more XPath scenarios.
 
C

Charles Sword

Disregard previous post. I was able to work through how to iterate
through the rest of the document.

Thanks again for your help.

Charles said:
Thanks Phlip. That allowed me to get to the first instance in each
document but I'm struggling with populating an array with XPath.each?
Here's the statement I'm using:

url=REXML::XPath.each(doc, '//HIT/FIELD[ "url" = @NAME ]').text
{|element|}

I'm getting a 'no code block given' error but I thought this should pass
each element back to the array url?

Thanks in advance for any further help.

charles

Charles said:
either a tree or stream parser?
Use XPath:

title = REXML::XPath.first(doc, '/HIT/FIELD[ "title" = @name ]').text

Look up my assert_xpath project for more XPath scenarios.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,534
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top