6

2つのXpath式があります...

//*[@id='gutter']/p[strong[text()='Date:']]/text()
//*[@id='gutter']/p[strong[text()='Time:']]/text()

上記の2つを組み合わせ、上記の各式を個別に実行した結果を組み合わせた場合と同じノードセットを返す単一のxpath式を作成するにはどうすればよいですか?

4

2 に答える 2

24

一般に、この Xpath 式は次のとおりです。

expr1 | expr2

expr1 によって選択されたすべてのノードとexpr2によって選択されたすべてのノードの和集合を選択します

|文字は、XPathユニオン演算子を示します。

複数の XPath 式によって選択されたノードの和集合を返す場合は、どのような場合でも和集合演算子を使用できます。

この具体的なケースでは

 //*[@id='gutter']/p[strong[text()='Date:']]/text()
|
 //*[@id='gutter']/p[strong[text()='Time:']]/text()

この式は最適化できますが、ユニオン演算子はそのようなすべてのケースで「機能」し、ほとんど機械的に表現でき、時間を節約し、より複雑なリファクタリングによってエラーが発生する可能性を排除するという利点があります。

于 2012-05-02T02:00:28.043 に答える
6

どうですか:

//*[@id='gutter']/p[strong[text()='Date:' or text()='Time:']]/text()

これは多かれ少なかれ自明です。

于 2012-05-01T18:55:37.167 に答える