You really don't want to be reinventing XML parsing (badly) with
string substitution or regular expressions. Given a string with your
XML in it, the REXML code to get the values you want would look
something like the following. You'll have to use something like
Net::Http to actually make the web service call to get the XML string.
There are some decent examples here:
http://rubylearning.com/blog/2008/04/25/yahoo-web-services-in-ruby/.

As Alex recommended, play around in irb with this to get a feel for it.


require 'rexml/document'

xml = '<?xml version="1.0"
?><parent><firstName>Foo</firstName><lastName>Bar</lastName></parent>'

doc = REXML::Document.new(xml)

firstName = REXML::XPath.first(doc.root, '//firstName/text()')
lastName = REXML::XPath.first(doc.root, '//lastName/text()')


Richard

On Thu, Dec 4, 2008 at 4:38 AM, Alex Collins <[EMAIL PROTECTED]> wrote:
>
> A useful general principle if you are wondering if something will work
> is to try it. In Ruby, start IRB (type irb at the command line) then
> type your ruby code. Irb will show you the results after each line.
> You do not need $ signs (ruby global variable) but you must certainly
> quote your strings. However your code will not work as there is no -
> method for a string.
>
> Instead, you could use the sub or gsub methods:
>
> a = "aba"
> a.gsub 'a', 'c'
> => "cbc"
>
> In the simple case, it sounds like you want to use a regular
> expression (regexp) to do pattern recognition. Results of matching are
> stores in MatchData objects. Something like:
>
> re = /<pattern>(.*)<\pattern/>/
> matchdata = string.match(re)
> puts matchdata.captures
>
> However, if you want to do more than this you would be better using
> REXML  as Richard suggested. Alternatively, use a tool designed for
> testing XML webservices eg SOAPUI. Watir is designed for testing
> websites.
>
> You might want to read a ruby tutorial though to get a better idea of
> how to use ruby.
>
> Hope this helps.
>
> On 4 Dec 2008, at 06:40, winstan <[EMAIL PROTECTED]> wrote:
>
>>
>> Would i be able to do some thing like this:
>>
>> $a = <ShortName>TESTA</ShortName>
>> $b = <ShortName>
>> $c = </ShortName>
>> $d = a - b
>> $e = d - c
>>
>> which in turn would make $e "TESTA"?
>>
>>
>>
>> On Dec 4, 4:55 pm, "Richard Lawrence" <[EMAIL PROTECTED]> wrote:
>>> Why are you accessing the web service using Watir and IE? Will end
>>> users of the web service access it with a browser? If not, and if
>>> you're just using the web service to get data to use in other GUI
>>> tests, you might find something like Net::Http and REXML to be more
>>> appropriate for this part of your script.
>>>
>>> Richard
>>>
>>> --
>>> Richard Lawrence
>>> Certified Scrum Coach
>>> Founder and Principal Consultant, Humanizing Work, LLC
>>> 303-895-7688
>>> [EMAIL PROTECTED]
>>>
>>>
>>>
>>> On Wed, Dec 3, 2008 at 9:29 PM, winstan
>>> <[EMAIL PROTECTED]> wrote:
>>>
>>>> Hi all,
>>>
>>>> I'm trying to capture a variety of data in an xml response from a
>>>> web
>>>> service, that is served up via IE and the GUI, however when I
>>>> interrogate the data using the IE dev toolbar I notice that all the
>>>> element properties render useless as they are all of the same nature
>>>> and properties.
>>>
>>>> Bellow is an extract from an example xml response in which I want to
>>>> capture the given Shortname and Long name (TestA) and set them as
>>>> variables for use later in the script when accessing another system
>>>> and validating the data between the two GUI's.
>>>
>>>> <ShortName>TESTA</ShortName>
>>>> <LongName>TestA</LongName>
>>>
>>>> I hope the information provided is sufficient and understandable.
>>>
>>>> Thanks again- Hide quoted text -
>>>
>>> - Show quoted text -
>>
>> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To post to this group, send email to [email protected]
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~----------~----~----~----~------~----~------~--~---

Reply via email to