Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Search in the value of an XML field [Thread Next] Re: Search in the value of an XML fieldTo: NULL Date: 5/1/2006 12:31:00 PM "Bogdan Zamfir" <bzamfir@g...> wrote in message news:1146477723.166492.23440@i...... > Hi, > > Is there any way to use xpath to find a node that contains some string > in ita value? Somehow like searching for the value of an attribute, but > instead look in the node's text > > To be more specific > > if I have this xml > > <customer> > <name part="first">John</name> > <name part="last">Doe</name> > </customer> > > I can search with the following xpath expression to get the first name > //customer/name[@part="first"] > > But if I have this xml > <customer> > <name>first: John</name> > <name>last: Doe</name> > </customer> > > How can I find node with first name? I don't want to get the whole > collection of name nodes from customer, scan all and check if text > includes "first" > > Is there any way to get this directly with xpath? > > Thank you > > Regards, > Bogdan Zamfir > Yes, although that XML is an abomination in my opinion. Assuming your customer elements are in a customers element you can use the contains function: /customers/customer[contains(name, 'first:')] You could also use the substring-after function. Check the docs: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/6da1b6e3-256e-4919-8848-53b425f72ed1.asp?frame=true -- Joe Fawcett - XML MVP https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5 | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
