使用特定文本PHP / XPath获取DOMElement

In PHP, i want to get all DOMElement containing a given text.

I get DOMText when $xpath->query("//text()[contains(., 'My String')]"), but which query must i perform for getting DOMElement instead?

Use:

(//*[text()
      [contains(., 'My String')]
   ]
 )[1]

This selects the first element in the XML document that has a text node child that contains the string "My String".

If it is guaranteed that only one such element exist, the above expression can be simplified to:

//*[text()
      [contains(., 'My String')]
   ]

If the elements you are looking for are guaranteed to have just a single text-node child, this expression can be simplified to:

(//*[contains(., 'My String')])[1]

respectively:

//*[contains(., 'My String')]

Try a path like //text()[contains(., 'My String')]/...