Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Re: XPath command to extract the following info? >Thread Next - Re: XPath command to extract the following info? Re: XPath command to extract the following info?To: NULL Date: 4/9/2009 12:56:00 PM The problem is that in my application I am restricted to specify only ONE "rowmapping". But I can specify multiple "columnmappings", like: parameter/@id parameter/@value datatable/rows/row/datum/@id datatable/rows/row/datum/@value But your suggestion seems to imply that what I want cannot be done unless I specify multiple "rowmappings"? "Martin Honnen" <mahotrash@y...> wrote in message news:49ddd036$0$32681$9b4e6d93@n...... > JS wrote: >> Given the below XML file: >> >> <Top> >> <Tree id="doc" lang="en" refid="tree"> >> <blocks> >> <block id="block" order="1.1" refid="Type0" type="table"> >> <parameters> >> <parameter id="Name" value="Bob"/> >> <parameter id="Position" value="Developer"/> >> </parameters> >> </block> >> <block id="block" order="1.2" refid="Type1" type="table"> >> <datatables> >> <datatable tableid="Type1"> >> <rows> >> <row order="7"> >> <datum id="a" value="value00"/> >> <datum id="b" value="value11"/> >> <datum id="c" value="value22"/> >> </row> >> </rows> >> </datatable> >> </datatables> >> </block> >> </blocks> >> <outputs> >> <output name="out" type="doc"/> >> </outputs> >> </Tree> >> </Top> >> >> I have defined the following rowmapping: >> >> //block/* >> >> Now I would like to extract all id and values from : >> >> parameters and datum >> >> I have tried: >> >> parameter/@id >> parameter/@value >> datatable/rows/row/datum/@id >> datatable/rows/row/datum/@value >> >> but that only gives me the first entry. Any ideas? > > Well you have not provided any details about the context you use XPath in > other than saying that you "have defined ... rowmapping". If you treat > //block/* > as a "row" then you have two rows in your sample XML data, the parameters > child element of the first block id="block" element and the datatables > child element of the second block id="block" element. > > Your other XPath expressions certainly select a node-set of id or value > attributes but I guess the environment in which you evaluate them simply > takes the string value of the first node in that node-set. > > So map parameter and datum elements to rows, then you can access the id > and value attribute of each row. > > > > > -- > > Martin Honnen > http://JavaScript.FAQTs.com/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
