By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,751 Members | 1,073 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,751 IT Pros & Developers. It's quick & easy.

text/string finder

P: n/a
Hi,

I'm new to xml and sometimes gives me a hardtime. is there any xpah query
that returns a particular string I'm looking for?

I used: //*contains(text()="foo") the "foo" could be in any part of xml
file. it could be text or attribute or ....
any idea?

thanks in advance
c# newbiew
Nov 12 '05 #1
Share this Question
Share on Google+
2 Replies

P: n/a

"C# newbie" <rs****@otxresearch.com> wrote in message
news:O7***************@TK2MSFTNGP09.phx.gbl...
Hi,

I'm new to xml and sometimes gives me a hardtime. is there any xpah query
that returns a particular string I'm looking for?

I used: //*contains(text()="foo") the "foo" could be in any part of xml
file. it could be text or attribute
This is not a syntactically correct XPath expression.

Probably you meant:

//*[contains(text(), 'foo')]
This will select all *element* nodes that have at least one *text node*
child that contains the string 'foo'

No attribute nodes will be selected.

If you need an XPath expression that will also select all attribute nodes
containing the string 'foo', one such XPath expression is:

(//* | //@*)[contains(., 'foo')]

If you want to include other types of nodes in the search, too (e.g.
comments and processing instructions), then one way to select all such
nodes, containing the string 'foo' is to evaluate the following XPath
expression:

(//node() | //@*)[contains(., 'foo')]
If you need to extend your search over namespace nodes, too, use this XPath
expression:

(//node() | //@* | //namespace::*)[contains(., 'foo')]
Hope this helped.
Cheers,

Dimitre Novatchev [XML MVP],
FXSL developer, XML Insider,

http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html

or ....
any idea?

thanks in advance
c# newbiew

Nov 12 '05 #2

P: n/a
Yes thanks

"Dimitre Novatchev [MVP XML]" <dn********@yahoo.com> wrote in message
news:c1*************@ID-152440.news.uni-berlin.de...

"C# newbie" <rs****@otxresearch.com> wrote in message
news:O7***************@TK2MSFTNGP09.phx.gbl...
Hi,

I'm new to xml and sometimes gives me a hardtime. is there any xpah query that returns a particular string I'm looking for?

I used: //*contains(text()="foo") the "foo" could be in any part of xml file. it could be text or attribute
This is not a syntactically correct XPath expression.

Probably you meant:

//*[contains(text(), 'foo')]
This will select all *element* nodes that have at least one *text node*
child that contains the string 'foo'

No attribute nodes will be selected.

If you need an XPath expression that will also select all attribute nodes
containing the string 'foo', one such XPath expression is:

(//* | //@*)[contains(., 'foo')]

If you want to include other types of nodes in the search, too (e.g.
comments and processing instructions), then one way to select all such
nodes, containing the string 'foo' is to evaluate the following XPath
expression:

(//node() | //@*)[contains(., 'foo')]
If you need to extend your search over namespace nodes, too, use this

XPath expression:

(//node() | //@* | //namespace::*)[contains(., 'foo')]
Hope this helped.
Cheers,

Dimitre Novatchev [XML MVP],
FXSL developer, XML Insider,

http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html

or ....
any idea?

thanks in advance
c# newbiew


Nov 12 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.