Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Problem while retrieving data based on condition [Thread Next] Re: Problem while retrieving data based on conditionTo: NULL Date: 4/2/2007 1:40:00 PM Pathik wrote: > I have to get the values of "reading" and "value" elements of context > Person/Category/Group/ser.These values must be on condition > based,means I have to get the values of "reading" and "value" if > entity="abc" and value="1" , and entity= "def" and value="2" at the > Person/Category/Group/series/Key. > > My xml source file is as follows. > > <?xml version="1.0" encoding="UTF-8"?> > <Person> > <Category> > <Group> > <series> > <Key> > <Main entity="abc" value="1"></Main> > <Main entity="def" value="2"></Main> > </Key> > </series> > <ser> > <reading>age</reading> > <value>100</value> > </ser> > <ser> > <reading>height</reading> > <value>6</value> > </ser> > <ser> > <reading>weight</reading> > <value>80</value> > </ser> > </Group> > </Category> > </Person> It is not clear to me which ser/reading and ser/value element you are looking for as I don't see the relationship between the series/Key/Main elements and those ser elements. Are you looking for all reading and value elements if the document contains the Main elements meeting your conditions on the attributes? > I am new to xml. I don't know how to write xpath for such a thing. You need to learn about predicates which can be put into square brackets e.g. /Person/Category/Group selects all Group elements with that path, then you can add a predicate to filter them in square brackets e.g. /Person/Category/Group[series/Key[Main[@entity = 'abc' and @value = '1'] and Main[@entity = 'def' and @value = '2']]] filters based on series/Key descendants for which another condition holds, there is a Main child meeting your first attribute condition and there is a Main child meeting the second attribute condition. Then if you are looking for ser/reading desdendant elements of that Group element you can add /Person/Category/Group[series/Key[Main[@entity = 'abc' and @value = '1'] and Main[@entity = 'def' and @value = '2']]]/ser/reading -- Martin Honnen http://JavaScript.FAQTs.com/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
