miten mehta wrote: > Hello, > > I am trying to fetch xnode:Body nodes which have > personName as Miten Mehta. Actually document has > xnode:Envelope as docelement. I tried various xpaths > in api but with no match. Only thing that works is > /xnode:Envelope/xnode:Body or //xnode:Body. Body > content is not taking part in xpath match it seems. > > I am trying to figure out does body content take part > in xpath query for soap message documents.
The default namespace declaration on the businessentity element may be a source of trouble. As an experiment, you could give the uddi namespace a prefix (say, "uddi"). Make sure to set the xnode and uddi namespaces for the XPathQueryService. Then try the query as: /xnode:envelope/xnode:body[uddi:businessentity/uddi:contacts/uddi:contact/ud di:personname = "Miten Mehta"] Unfortunately, I don't know how to set a namespace as the default (having no prefix) within the XPathQueryService. In any event, it doesn't *become* the default namespace until later in the document which makes it even more confusing, since you have to set all the namespaces up front before doing the query. XPath is just sort of broken when it comes to namespaces, IMHO. It's best to avoid the use of //xnode:body[...], because its performance is very poor. Good luck, Vanessa
