[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath question (in .NET)
At 09:04 PM 12/13/2005, Paul Popiel wrote: >I have tried this previously, but strangely it only seems to work on the >first attribute. >e.g. searching on 'element' will return both nodes. searching on 'attribute' >(part of value of 2nd attribute in the child node) nothing is returned. Oh, something like this then: //*[@*[contains(.,'attribute')]] >also, i dont want the search to be restricted to just the attribute values, >but the elements xml string as a whole. Well, you can add conditions as you wish... //*[contains(.,'some text') or @*[contains(.,'some text')]] >-----Original Message----- >From: Carlo Innocenti [mailto:minollo@m...] >Sent: Wednesday, 14 December 2005 9:58 AM >To: Paul Popiel >Cc: xml-dev@l... >Subject: RE: XPath question (in .NET) > > > > >... > > <?xml version="1.0"?> > > <Test Name="Im a parent element"> > > <Child Name="Im a child element" Attribute="another > >attribute"/> > > </Test> > > > >... > > XmlNodeList foundNodes = xmlDoc.SelectNodes("//*[contains(., > >'element')]"); > >Your query is matching elements containing "element" in their values; >but your strings are associated to attributes, not to text nodes. >Changing the query to: > >"//@*[contains(.,'element')]" > >...will return two attributes. If you need the elements containing at >least one attribute which contains that string, then you need: > >"//*[contains(@*,'element')]" > >...you get the idea. > >Minollo >http://www.stylusstudio.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|