From: André K. <ak...@la...> - 2010-11-20 00:17:41
|
> On Fri, Nov 19, 2010 at 3:59 PM, msacks <nt...@gm...> wrote: >> Hello, >> I am having trouble doing some really basic things using xmlstar. >> I am executing this command /usr/bin/xmlstarlet sel -t -c >> "category/structure/property[@name='productNumber']" -v "@value" >> ~user/Downloads/hp.USE808N6DS.xml >> >> against this xml file >> https://docs.google.com/leaf?id=0B6C4Iz1C9X9HMzVjNjRiMTYtZWM3YS00ODljLTgyM2EtMDNjYzIzZjVhYTE2&sort=name&layout=list&num=50 >> >> Can someone clue me in as to what I am doing wrong? > > You didn't explain exactly what your intention is, but I suppose you > meant @value to refer to the property element that you matched in the > previous argument. Unless you use -m (or --match) arguments are > relative to the root, I would guess you want this: > > /usr/bin/xmlstarlet sel -t -m \ > "category/structure/property[@name='productNumber']" \ > -c . -v "@value" ~user/Downloads/hp.USE808N6DS.xml > Hi msacks, Well the two things to check since I also haven't been able to download the xml file: - I guess xmlstarlet sel -t -m "/category/..." or xmlstarlet sel -t -m "//category/..." (note the staring slash(es)) would match something - Is there a namespace, in which case you'd have to use the -N option and update the XPath accordingly? Regards, André |