Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - xpath query question >Thread Next - Re: xpath query question Re: xpath query questionTo: NULL Date: 10/5/2005 11:12:00 PM "Craig Buchanan" <msnews.microsoft.com> wrote: > assume that i have this xml stored in a domDocument: > <Persons> > <Person> > <FirstName>Craig</FirstName> > <LastName>Buchanan</LastName> > </Person> > <Person> > <FirstName>Another</FirstName> > <LastName>Buchanan</LastName> > </Person> > </Persons> > > what is the best mechansim to be able to "query" this document using > selectsinglenode, and always return a <Persons> element and the 0 to many > <Person> elements that match the xpath query? > > Case A: if I use "//Persons", i get the xml listed above. > > Case B: if i use "//Persons/Person[LastName='Buchanan']", i get: > <Person> > <FirstName>Craig</FirstName> > <LastName>Buchanan</LastName> > </Person> > > it should return the entire xml string listed above. > > Case C: if i do "//Persons/Person[FirstName='Craig']", i get: > > <Person> > <FirstName>Craig</FirstName> > <LastName>Buchanan</LastName> > </Person> > > i should get > <Persons> > <Person> > <FirstName>Craig</FirstName> > <LastName>Buchanan</LastName> > </Person> > </Persons> > > what am i missing? I'd assume that selectsinglenode does exactly what its name implies, and adds an implicit [1] after every XPath selection, and for any non-root match, it returns the containing element plus its parent. What does it do if <Person> is 45 element levels deep in a big hierarchy, with assorted ancestors which may have compulsory elements or mixed content? Should it just return a well-formed document with minimal element markup all the way back to the root element every time? ///Peter | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
