2つのXpath式があります...
//*[@id='gutter']/p[strong[text()='Date:']]/text()
//*[@id='gutter']/p[strong[text()='Time:']]/text()
上記の2つを組み合わせ、上記の各式を個別に実行した結果を組み合わせた場合と同じノードセットを返す単一のxpath式を作成するにはどうすればよいですか?
2つのXpath式があります...
//*[@id='gutter']/p[strong[text()='Date:']]/text()
//*[@id='gutter']/p[strong[text()='Time:']]/text()
上記の2つを組み合わせ、上記の各式を個別に実行した結果を組み合わせた場合と同じノードセットを返す単一のxpath式を作成するにはどうすればよいですか?
一般に、この Xpath 式は次のとおりです。
expr1 | expr2
expr1 によって選択されたすべてのノードとexpr2によって選択されたすべてのノードの和集合を選択します。
|
文字は、XPathユニオン演算子を示します。
複数の XPath 式によって選択されたノードの和集合を返す場合は、どのような場合でも和集合演算子を使用できます。
この具体的なケースでは:
//*[@id='gutter']/p[strong[text()='Date:']]/text()
|
//*[@id='gutter']/p[strong[text()='Time:']]/text()
この式は最適化できますが、ユニオン演算子はそのようなすべてのケースで「機能」し、ほとんど機械的に表現でき、時間を節約し、より複雑なリファクタリングによってエラーが発生する可能性を排除するという利点があります。
どうですか:
//*[@id='gutter']/p[strong[text()='Date:' or text()='Time:']]/text()
これは多かれ少なかれ自明です。