I've used //Person/Test instead and then ../@name,
but did not work. I obtained this :

Person("Mike")
         |_ _ Test("x")
         |_ _ Test("y")
         |_ _ Test("z")
         |_ _ Test("w")

Person("Mike")
         |_ _ Test("x")
         |_ _ Test("y")
         |_ _ Test("z")
         |_ _ Test("w")

Person("Jim")
         |_ _ Test("x")
         |_ _ Test("y")
         |_ _ Test("z")
         |_ _ Test("w")

Person("Jim")
         |_ _ Test("x")
         |_ _ Test("y")
         |_ _ Test("z")
         |_ _ Test("w")


I think this is normal because by putting
[XmlData("//Person/Test", FilePath = "Data.xml")] at class level, this
will loop on the Test node
so this is why I get Mike and Jim twice!

I've also tried this but did not succeed!!

[XmlData("//Person", FilePath = "Data.xml")]
public class Fixture
{
  public Fixture([Bind("@name")] string name) { }

  [Test]
  public void Test([Bind("Test/@name")] string testName) {}
 }

I get :

Person("Mike")
         |_ _ Test("x")
         |_ _ Test("z")

Person("Jim")
         |_ _ Test("x")
         |_ _ Test("z")

 It still does not loop on the Test tag.....could this be a bug?

Max

On Feb 11, 12:02 am, Jeff Brown <[email protected]> wrote:
> That is correct.  It loops over the Persons because that is what was  
> specified as the "row level" selector.
>
> You might want to use //Person/Test instead.  You can then bind to the  
> person name attribute if you want using an uplevel selector like ../
> @name
>
> Jeff.
>
> On Feb 10, 2009, at 11:21 AM, max2256 <[email protected]> wrote:
>
>
>
> > I've tried with the slash and got the following output:
>
> > Person("Mike")
> >         |_ _ Test("x")
> >         |_ _ Test("x")
>
> >        Person("Jim")
> >         |_ _ Test("x")
> >         |_ _ Test("x")
>
> > Looks like it doesn't loop on the Test tag!
>
> > On Feb 10, 1:44 pm, Marcus Griep <[email protected]> wrote:
> >> I totally forgot a slash in there.  Try using this instead: "Test/
> >> @name".
> >>  If that doesn't work, then there might be something functionally  
> >> different
> >> with getting XmlData to work the way you want it to.
> >> --
> >> Marcus Griep
> >> ——
> >> Ακακια את.ψο´, 3°
>
> >> On Tue, Feb 10, 2009 at 12:59 PM, max2256 <[email protected]>  
> >> wrote:
>
> >>> Thank you Marcus for your response, but I've tried your solution but
> >>> did not succeed!
> >>> The problem is that it give a failure saying that  
> >>> [Bind("t...@name")]
> >>> is not a valid expression.
>
> >>> On Feb 9, 3:42 pm, Marcus Griep <[email protected]> wrote:
> >>>> Your xpath query seems to be a bit off.
> >>>> "//Person" means give me all person nodes everywhere.  Similarly,
> >>> "//Test"
> >>>> means give me all test nodes everywhere.  This causes w, x, y,  
> >>>> and z to
> >>> be
> >>>> selected.
>
> >>>> I am not exactly sure how to organize this to get the effect you  
> >>>> are
> >>> looking
> >>>> for, but maybe this?:
>
> >>>> [XmlData("//Person", FilePath = "data.xml")]
> >>>> public Fixture([Bind("@name")] string name) { }
>
> >>>> [XmlData("//Person", FilePath = "data.xml")]
> >>>> public void Test([Bind("t...@name")] string testName) { }
> >>>> --
> >>>> Marcus Griep
> >>>> ——
> >>>> Ακακια את.ψο´, 3°
>
> >>>> On Mon, Feb 9, 2009 at 2:57 PM, max2256 <[email protected]>  
> >>>> wrote:
>
> >>>>> Hi!
> >>>>>  I've been testing the XmlData attribute for a while, but I've not
> >>>>> been able to solve the following problem:
>
> >>>>>   let's say I have this XML file (data.xml) for example:
> >>>>>   <Fixture>
> >>>>>         <Person name="Mike">
> >>>>>        <Test name="x"></Test>
> >>>>>        <Test name="y"></Test>
> >>>>>          </Person>
> >>>>>          <Person name="Jim">
> >>>>>        <Test name="z"></Test>
> >>>>>        <Test name="w"></Test>
> >>>>>          </Person>
> >>>>>    </Fixture>
>
> >>>>>       How can I loop on the Test node for this particular person ?
>
> >>>>>       I tried this way but it did not succeed:
>
> >>>>>       public class Fixture
> >>>>>       {
> >>>>>            [XmlData("//Person", FilePath = "data.xml")]
> >>>>>            public Fixture([Bind("@name")] string name)
> >>>>>            {
> >>>>>        // do something
> >>>>>            }
>
> >>>>>           [XmlData("//Test", FilePath = "data.xml")]
> >>>>>           public void Test([Bind("@name")] string testName)
> >>>>>           {
> >>>>>        //do something
> >>>>>           }
> >>>>>       }
>
> >>>>>     When I ran this I obtain this :
>
> >>>>>        Person("Mike")
> >>>>>         |_ _ Test("x")
> >>>>>         |_ _ Test("y")
> >>>>>         |_ _ Test("z")
> >>>>>         |_ _ Test("w")
>
> >>>>>        Person("Jim")
> >>>>>         |_ _ Test("x")
> >>>>>         |_ _ Test("y")
> >>>>>         |_ _ Test("z")
> >>>>>         |_ _ Test("w")
>
> >>>>>     Any suggestions?
>
> >>>>>     Thanx
>
> >>>>> On Feb 7, 5:09 am, "Jeff Brown" <[email protected]> wrote:
> >>>>>> There's actually a bunch of docs and examples on the attribute  
> >>>>>> class
> >>>>> itself.
>
> >>>>>> Hit F1 on the type and see what Visual Studio shows you.  
> >>>>>> (Caveat: It
> >>>>> might
> >>>>>> take a bit for VS to regenerate its help index the first time.  
> >>>>>> This
> >>> is
> >>>>>> annoying but normal.)
>
> >>>>>> Jeff.
>
> >>>>>> -----Original Message-----
> >>>>>> From: [email protected] [mailto:
> >>> [email protected]]
> >>>>> On
>
> >>>>>> Behalf Of max2256
> >>>>>> Sent: Friday, February 06, 2009 10:56 AM
> >>>>>> To: MbUnit.User
> >>>>>> Subject: MbUnit XmlData
>
> >>>>>> Hi,
>
> >>>>>>         I've installed the current build and I'm very  
> >>>>>> interested in
> >>>>>> using the XMLData attribute, but I could not find any
> >>>  documentation
> >>>>>> on how to use it! Is is possible to post a snippet on how to  
> >>>>>> use it
> >>> or
> >>>>> it's
> >>>>>> too soon to use this attribute.
>
> >>>>>> Thanx- Hide quoted text -
>
> >>>>>> - Show quoted text -- Hide quoted text -
>
> >>>> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MbUnit.User" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/MbUnitUser?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to