PHPでは、特定のテキストを含むDOMElement
をすべて取得します。特定のテキストでDOMElementを取得するPHP/XPath
$xpath->query("//text()[contains(., 'My String')]")
の場合DOMText
が得られますが、代わりにDOMElement
を取得するためにはどのクエリを実行する必要がありますか?
PHPでは、特定のテキストを含むDOMElement
をすべて取得します。特定のテキストでDOMElementを取得するPHP/XPath
$xpath->query("//text()[contains(., 'My String')]")
の場合DOMText
が得られますが、代わりにDOMElement
を取得するためにはどのクエリを実行する必要がありますか?
使用は:
(//*[text()
[contains(., 'My String')]
]
)[1]
これは文字列"My String"
を含むテキストノードの子を持つXML文書内の最初の要素を選択します。あなたが探している要素が1つだけのテキストノードの子を持つことが保証されている場合は、この
//*[text()
[contains(., 'My String')]
]
:唯一のそのような要素が存在することが保証されている場合は
、上記の式は次のように単純化することができますそれぞれ
(//*[contains(., 'My String')])[1]
:式がに簡素化することができる
//*[contains(., 'My String')]
//text()[contains(., 'My String')]/..
のようなパスを試してください。
マーティン、通常あり逆軸を含まない式。 –
ちょうど私が必要なもの、ありがとう! – TMichel
@ TMichel:どうぞよろしくお願いいたします。この回答を受け入れることを検討してください(回答の横にあるチェックマークをクリックしてください)。 –